Skip to main content

Troubleshoot the SSIS importer

Import from SSIS… is not in the File menu​

The plugin is not where Hop looks for it. Check that <hop>/plugins/misc/importers/importer-ssis/ exists, that you unzipped into the Hop folder and not into a sub-folder, and that you run Hop 2.19.0 or later.

hop-import says the input folder doesn't exist​

hop-import.sh runs from the Hop folder, so a relative path points inside it. Give -i and -o as full paths, for example "$PWD/packages".

The import finds no packages​

The importer reads .dtsx files. Check that the input folder contains them, that they are not in an obj/ folder (skipped: SQL Server Data Tools puts copies there when it builds), and that the folders are not hidden (hidden files and folders are skipped unless you pass --no-skip-hidden). With --skip-folders, only the input folder itself is read. .ispac archives are not read.

Exit code 3: a package failed to import​

The report lists the package under Packages that failed to import, with the error. Packages saved by SSIS 2005 or 2008 fail with SSIS 2005/2008 package (PackageFormatVersion …): open and save them in SQL Server Data Tools to upgrade them to the 2012 format, then import again. For other errors, check that the file is a complete package; if it still fails, report it with the error message.

Connections are missing in Hop GUI​

Hop GUI reads connections from the metadata folder of the active project. When the import wrote them elsewhere, the report's Database connections section says so. Copy the files in metadata/rdbms/ to the project's metadata/rdbms/ folder, or import again into the project; see Import into a Hop project.

A workflow does not run​

  • Files not found. Paths are carried over as they are, including C:\… and D:\…. Use variables or change them to paths on the machine that runs Hop.
  • Login failed. Set the password variable, or replace Windows authentication; see Finish connections and passwords.
  • Missing database driver. Hop includes the SQL Server driver; for a Generic connection, put the JDBC driver jar in <hop>/lib/jdbc.
  • Tables or stored procedures not found. The packages expect them to exist; the importer does not create them.
  • Project parameters are empty. Run with the environment the import wrote; see Import into a Hop project.
  • A Dummy where a task or component should be. That is a placeholder: its description and the report say what it replaces.
  • A SQL statement breaks on a quote. Hop substitutes ${variables} into SQL as text. The importer quotes string and date parameters; a value that itself contains a quote breaks the statement. The report lists every statement rewritten this way.

Empty strings arrive as NULL​

Set HOP_EMPTY_STRING_DIFFERS_FROM_NULL to Y for the Hop that runs the workflows, or with -s HOP_EMPTY_STRING_DIFFERS_FROM_NULL=Y on hop-run. SSIS and SQL Server keep an empty string apart from NULL; Hop does not, without this setting.

A Slowly Changing Dimension logs a warning for a repeated key​

A business key came more than once in one load. SSIS's result then depends on its buffers: a row finds the rows earlier buffers inserted. The converted SCD compares every row with the dimension as it was before the load, and logs a warning for each repeated key. Check those keys in the source.

I ran a pipeline, and something is missing​

A package runs from its workflow, <package>.hwf: it sets the package's variables, runs the tasks in order and runs the event handlers. Running one of its pipelines on its own skips all of that.