The path to the folder or file containing the input source code.
-o, --output <PATH> (Required)
The path to the output folder where the converted code and reports will be stored.
-a, --assessmentmode
Flag to indicate whether or not to generate only assessment files. By default, it is set to false.
--snowscript, --disableSnowScript (NO LONGER SUPPORTED)
Flags were used to indicate whether the migration tool should migrate stored procedures to Snowflake Scripting.
As of release 2.0.288. these flags are no longer supported. Please use the following flag instead:
--PLTargetLanguage
-e, --encoding <CODE PAGE>
The encoding code page number is used for parsing the source files. We only accept encodings supported by .NET Core. Here are the ones supported at the moment:
Code Page
Name
Display Name
1200
utf-16
Unicode
1201
unicodeFFFE
Unicode (Big endian)
12000
utf-32
Unicode (UTF-32)
12001
utf-32BE
Unicode (UTF-32 Big endian)
20127
us-ascii
US-ASCII
28591
iso-8859-1
Western European (ISO)
65000
utf-7
Unicode (UTF-7). Not available in .NET 5
65001
utf-8
Unicode (UTF-8). Default encoding
-m, --comments
Flag to indicate if the user wants to comment out objects that have missing dependencies.
Target Language
-t, --PLTargetLanguage <TARGET_LANGUAGE>
The string value specifies the target language to convert Stored procedures and some functions. Currently supported are: SnowScript and JavaScript.
The default value is set to SnowScript.
Object Name Customization
-s, --customschema <SCHEMA_NAME>
The string value specifies the custom schema name to apply. If not specified, either PUBLIC or the original database name will be used. Example: DB1.MyCustomSchema.Table1.
If you provide this parameter with a schema name NONE --customschema none, the converted code will keep the original schema defined in the source code.
-d, --database <DB_NAME>
The string value specifies the custom database name to apply. Example: MyCustomDB.PUBLIC.Table1.
--useExistingNameQualification
This flag must be used in conjunction with the -d or -s parameters. When used, it preserves the existing name qualification from the input code when previous parameters are used.
Let's take a look at this example where -s newSchema was included:
The same applies to databases.
License and Help
-l, --license [<LICENSE_KEY>]
Shows the license information. If it's followed by a license key, it will attempt to download and install such a license. For example:
Showing license status snowct-oracle -l
Installing a license snowct-oracle -l 12345-ASDFG-67890
--terms
Show license terms information.
--help
Display the help information.
--version
Display the CLI and Code Processor version information.
Other features
--disableSnowScript
Flag to indicate whether SnowConvert should migrate the procedures to Javascript and Python. By default, it is set to false.
--disableSynonym
Flag to indicate whether or not Synonyms should be transformed. By default, it's set to true.
--disablePackagesAsSchemas
Flag to indicate whether or not the Packages should be transformed to new Schemas.
Please check the naming of the procedure enabling and disabling the flag:
--outerJoinsToOnlyAnsiSyntax
Flag to indicate whether Outer Joins should be transformed to only ANSI syntax.
--snowscript
Flag to indicate whether SnowConvert should migrate the procedures to Snowscript. By default, it is set to true.
This is a deprecated flag, it will be removed soon.
--disableDateAsTimestamp
Flag to indicate whether SYSDATE should be transformed to CURRENT_DATE or CURRENT_TIMESTAMP. This will also affect all DATE columns that will be transformed to TIMESTAMP.
Learn more about how you can get access to the SnowConvert for Oracle Command Line Interface tool by filling out the form on our Snowflake Migrations Info page.
--arrange
Flag to indicate whether the input code should be processed before parsing and transformation.
// Oracle Input
CREATE OR REPLACE PACKAGE emp_mgmt AS
PROCEDURE remove_emp (employee_id NUMBER );
END emp_mgmt;
CREATE OR REPLACE PACKAGE BODY emp_mgmt AS
PROCEDURE remove_emp (employee_id NUMBER) IS
BEGIN
DELETE FROM employees
WHERE employees.employee_id = remove_emp.employee_id;
tot_emps := tot_emps - 1;
END;
END emp_mgmt;
// Transformation by default
CREATE SCHEMA IF NOT EXISTS emp_mgmt;
...
CREATE OR REPLACE PROCEDURE emp_mgmt.remove_emp (employee_id FLOAT)
...
// Transformation with disablePackagesAsSchemas flag
CREATE OR REPLACE PROCEDURE EMP_MGMT_REMOVE_EMP (employee_id FLOAT)
...
// Oracle Input
CREATE TABLE DATE_TABLE(
DATE_COL DATE
);
SELECT SYSDATE FROM DUAL;
// Transformation by default
CREATE OR REPLACE TABLE PUBLIC.DATE_TABLE (
DATE_COL TIMESTAMP /*** MSC-WARNING - MSCEWI3060 - DEFAULT VALUE FOR SYSDATE IS CURRENT_TIMESTAMP. COLUMN WAS TRANSFORMED TO TIMESTAMP TO PRESERVE INFORMATION. ***/
);
SELECT
CURRENT_TIMESTAMP
FROM DUAL;
// Transformation with --disableDateAsTimestamp flag
CREATE OR REPLACE TABLE PUBLIC.DATE_TABLE (
DATE_COL DATE
);
SELECT
CURRENT_DATE
FROM DUAL;