Skip to main content

Options and exit codes

The importer runs three ways, all with the same options and defaults:

WayCommand
Hop GUIFile → Import from SSIS…: the options on the Source, Target and Metadata tabs
hop-import<hop>/hop-import.sh -t ssis -i <input> -o <output>, with full paths
Standalone jarjava -jar importer-ssis.jar [options] <input-dir> <output-dir> [metadata-root], built from the repository

Options​

OptionDefaultWhereMeaning
-i, --input, or the first argumentAllA folder with .dtsx packages. Every folder that holds packages is read as one SSIS project
-o, --output, or the second argumentAllWhere the .hwf and .hpl files are written, mirroring the input's folder layout
-e, --skip-existingonAllLeave target files that already exist untouched
-p, --skip-hiddenonAllSkip hidden files and folders
-f, --skip-foldersoffAllDo not recurse into sub-folders
-m, --metadata-root, or the third argument<output>/metadataJar, GUIHop metadata folder for the database connections and run configurations
--project <name>GUIImport into this Hop project's home folder instead of --output. It needs the Hop projects plugin, which the standalone jar does not have: there, give the project's home folder as --output
--pipeline-run-configuration <name>localJar, GUIRun configuration for generated pipeline actions and executors
--workflow-run-configuration <name>localJar, GUIRun configuration for generated workflow actions and executors
--translate-scripts <endpoint>offJar, GUITranslate C# Script Components to Java with the language model at this OpenAI-compatible endpoint, for example http://localhost:11434/v1 (Ollama)
--translation-model <model>Jar, GUIThe model for --translate-scripts
--translation-reasoning <effort>the model's ownJar, GUIReasoning effort for --translate-scripts: none, low, medium or high, for models that reason before they answer
-h, --helpJarPrint the options

Where: All is the standalone jar, hop-import and the Hop GUI dialog; Jar is the standalone jar; GUI is the Hop GUI dialog, which has the options on its Source, Target and Metadata tabs, and shows the project only when the Hop projects plugin is installed. hop-import in Hop 2.19 accepts only its own options (-t, -i, -o, -e, -p, -f, and Hop's -c, -j, -k, -s); for the others, use the standalone jar or the dialog.

In the standalone jar, switch a default-on option off with --no-<option> (--no-skip-existing) or --<option>=false.

Environment variables​

VariableRead byMeaning
SSIS_TRANSLATION_API_KEYThe import, with --translate-scriptsAPI key for the translation endpoint, if it needs one. It is never stored in the options
HOP_EMPTY_STRING_DIFFERS_FROM_NULLHop, when the converted files runMust be Y: SSIS keeps an empty string apart from NULL
SSIS_KEYS_IGNORE_CASEConverted Slowly Changing Dimensions, when they runN compares business keys with case, for a case-sensitive collation; by default case and trailing spaces do not count
SSIS_<CONNECTION>_PASSWORDConverted connections that log in with a user name, when they runThe connection's password

Exit codes​

The standalone jar exits with these codes; use it in scripts and CI:

Exit codeMeaning
0Every package converted
1The import crashed, or the input folder does not exist
2The command line could not be parsed; the usage text is printed
3The import completed, but at least one package could not be read or converted

A component that fails to convert does not fail its package: it becomes a placeholder.

What is read​

SSIS fileRead as
Packages (*.dtsx), SSIS 2012 or later (PackageFormatVersion 6 or 8)A workflow per package, a pipeline per Data Flow Task, a workflow per container
Project connection managers (*.conmgr) and package connection managersHop relational connections, for OLE DB, ADO.NET and ODBC connection managers
Project parameters (Project.params)A Hop environment configuration file, environments/<project>-config.json
Script Task and Script Component code, inside the package.cs.txt or .vb.txt files next to the workflow or pipeline, and a .script.json per Script Component

Packages in obj/ folders are skipped. Packages saved by SSIS 2005 or 2008 are reported as failed. .ispac archives, .dtproj project files and SSIS catalog environments are not read.

Connection managers map onto these Hop database types:

Connection managerProviderHop database type
OLE DBSQL Server (SQLNCLI*, SQLOLEDB, MSOLEDBSQL*)MS SQL Server (Native)
OLE DBOracle (OraOLEDB*, MSDAORA*)Oracle
OLE DBDB2 (IBMDA400*, DB2OLEDB*)DB2
ADO.NETSqlClientMS SQL Server (Native)
ADO.NETOracleOracle
ADO.NETNpgsqlPostgreSQL
ADO.NETMySqlMySQL
ODBC, and any other providerGeneric database, to complete with a JDBC URL and driver class