Console Mode

Console Mode allows you to script and automate your migrations without ever needing to use our web-based user interface.

Lorem ipsum dolor sit amet
Scripting and Automation

All of the functionality exposed in the web-based UI is available in the console mode as well.

How does it work?

Run the OmniLoader executable with an additional -job parameter specifying the path to the JSON file. An example (Windows variant):

OmniLoader.exe -job \path\to\the\file.json

By default, the console will copy all the tables from all source databases into the target database. Of course, this behavior can be changed. One can opt to specify a particular list of tables to copy, and these tables can each have their own specific customization parameters applied. More information on this is available in our documentation. If several source databases are used, instead of a single Source element, you should use Sources with an array of items.

How is Console Mode useful for you?

ConsoleMode JSON files are easy to understand – and declarative. One can see all the customizations right away, as there is no need to flick through different screens to examine what has been applied.

This is especially valuable in a multi-user environment, where a colleague coming to the project can immediately grasp the requirements.

An additional benefit is that JSON project files can be put into the source control, for security and audit.

{
  "SqlServer": {
    "Server": "R12",
    "Database": "AdventureWorks2017",
    "AuthenticationType": "SqlServer",  // Windows|SqlServer
    "Username": "sa",
    "Password": "test"
  }
}
{
  "Oracle": {
    "ConnectionType": "Direct", // Direct|OracleClient
    "Server": "{{server ip, or empty if localhost}}",
    "Port": 11522,
    "Sid": "{{sid}}", // or "ServiceName": "{{service name}}",
    "Username": "sys",
    "Password": "{{password}}",
    "Role": "SysDBA"  // Default|SysDBA|SysOPER
  }
}
{
  "Synapse": {
    "Server": "{{yourserver}}.database.windows.net,
    "Database": "{{database name}}",
    "Username": "{{user}}",
    "Password": "{{password}}",
    "AuthenticationType": "sqlserver",
    "StorageType": "adlsv2",  // Local|AzureBlob|ADLSv2
    "StorageFormat": "parquet", // CSV|Parquet
    "StorageCompression": "snappy", // None|Snappy|GZip
    "ConnectionString": "{{conn string from storage explorer}}",
    "Container": "{{container}}",
    "ContainerDirectory": "{{directory name in the container}}"
  }
}
{
  "PostgreSQL": {
    "Server": "localhost",
    "Port": 5432,
    "Database": "{{db name}}",
    "Username": "postgres",
    "Password": "{{password}}"
  }
}
{
  "Source": { ... },
  "Target": { ... },
  "Options": {
    "SummaryLogFilename": "summary.log",
    "ErrorLogFilename": "error.log",
    "WarningLogFilename": "warning.log",
    "SqlLogFilename": "sql.log",
    "ErrorSqlLogFilename": "errorsql.log",
    "JsonLogFilename": "details.json",
    "SchemaMapping": "person=people",
    "TableNameMapping": "production=prod",
    "ColumnNameMapping": "parent=parent_id",
    "DataTypeMapping": "varchar=nvarchar;char(10)=char(30)",
    "DefaultValuesMapping": "now=current_timestamp",
    "TableSlices": 16,
    "TableSliceMinMB": 100,
    "FileTableRowLimit": 100000,
    "DryRun": false,
    "DataCopyingMode": "Everything"  // None|Everything|Delta
  }
}
Lorem ipsum dolor sit amet
Omni Loader console arguments

Omni Loader can be invoked as a console application to execute a job and return. This is very useful for automated migrations and migrations as part of CI/CD workflows.

--job {path-to-json-file}

A JSON job specification to use. A typical example would be:

OmniLoader.exe --job c:\jobs\sql2synapse.json
Sisyphus

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris imperdiet egestas blandit. Suspendisse rhoncus congue lorem ut malesuada.

Candice Doe
Product Manager, Sisyphus
Save time, increase efficiency.

Ready to get started?

FAQ

Frequently asked questions

By clicking “Accept All Cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.