Import into a Hop project
For a real migration, import into the Hop project the workflows and pipelines will live in, rather than into a loose folder. Hop GUI reads connections from the metadata folder of the active project, so connections written elsewhere are not found.
1. Import
In Hop GUI, use File → Import from SSIS… and pick the project on the Target tab. From the command line, use the standalone jar and give the project's home folder as the output folder:
java -jar importer-ssis.jar -o <project-home> \
--pipeline-run-configuration <pipeline-run-config> \
--workflow-run-configuration <workflow-run-config> \
<packages-folder>
- The connections and run configurations go to
<project-home>/metadata, the default metadata folder of a Hop project. If your project uses another one, add-m <metadata-folder>. - The run configurations are set on every pipeline and workflow action and executor the import
generates. Without them,
localis used, and created if the project does not have one; an existinglocalis left as it is. --skip-existingis on by default, so importing again does not overwrite a pipeline you have already finished by hand. Use--no-skip-existingto overwrite.- The
--project <name>option needs the Hop projects plugin to find the project, so it works in the Hop GUI dialog but not in the standalone jar.hop-importin Hop 2.19 takes neither the project nor the run configurations.
2. Create the environment
When a project has project parameters, the import writes them to
environments/<project>-config.json in the output folder, named after the project's folder (a
folder Sales gives sales-config.json). The report's Project parameters section names the
file. Register it as a Hop environment of the project:
<hop>/hop-conf.sh -ec -e sales -ep <hop-project> -eg <path>/environments/sales-config.json
Run with that environment (-e sales on hop-run, or the environment selector in Hop GUI) and the
workflows get the parameters' values. Sensitive parameters are written with an empty value: SSIS
does not store them. Set them in the environment.
Package parameters and variables are not in the environment: they become parameters of the package's workflow, with their design-time values as defaults.
3. Set the Hop settings
SSIS and SQL Server keep an empty string apart from NULL; Hop does only when
HOP_EMPTY_STRING_DIFFERS_FROM_NULL is Y. Without it, empty strings the packages read or write
become NULL. Set it for every Hop that runs the converted packages: in Hop's configuration, or as
-s HOP_EMPTY_STRING_DIFFERS_FROM_NULL=Y on hop-run.
If the dimension tables of a Slowly Changing Dimension use a case-sensitive collation, also set the
variable SSIS_KEYS_IGNORE_CASE to N; by default the converted SCD compares business keys
without case and trailing spaces, as SQL Server's default collation does.
4. Finish the connections
SSIS does not store passwords in clear text, and Windows authentication needs a decision. See Finish connections and passwords.