SnowConvert: Teradata 转换设置¶
常规转换设置¶
常规结果设置¶
注释缺失依赖项的对象: 该标志用于指示用户是否想要注释缺少依赖关系的节点。
禁用 EWI 注释生成(错误、警告和问题): 该标志用于指示是否不会在转换后的代码上生成 EWIs 注释(错误、警告和问题)。默认值为 false
为存储过程中的 SQL 语句生成 XML-标记: 该标志用于指明是否将在转换后的代码上标记存储过程中的 SQL 语句 SELECT、INSERT、CREATE、DELETE、UPDATE、DROP、MERGE。此功能用于在迁移后的代码上轻松识别语句。将这些语句封装在这些类似 XML 的标记中可以方便其他程序快速找到它们并进行提取。装饰后的代码如下所示:
//<SQL_DELETE EXEC(DELETE FROM SB_EDP_SANDBOX_LAB.PUBLIC.USER_LIST,[]) //SQL_DELETE!>
将时段数据类型的定义和用法分成开始和结束数据时间字段: 该标志用于表示该工具应将 PERIOD 数据类型的任何使用迁移为两个单独的 DATETIME 字段,用于分别保存原始时间段的开始值和结束值,每当使用此标志迁移时间段字段或函数时,都会添加 SSC-EWI-TD0053,以提示该项更改。
输入代码:
CREATE TABLE myTable( col1 PERIOD(DATE), col2 VARCHAR(50), col3 PERIOD(TIMESTAMP) );
输出代码:
CREATE OR REPLACE TABLE myTable ( col1 VARCHAR(24) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!!, col2 VARCHAR(50), col3 VARCHAR(58) !!!RESOLVE EWI!!! /*** SSC-EWI-TD0053 - SNOWFLAKE DOES NOT SUPPORT THE PERIOD DATATYPE, ALL PERIODS ARE HANDLED AS VARCHAR INSTEAD ***/!!! ) COMMENT = '{"origin":"sf_sc","name":"snowconvert","version":{"major":1, "minor":0},{"attributes":{"component":"teradata"}}' ;
设置输入文件的编码: 编码代码页码用于解析源文件。我们只接受 NET Core 支持的编码 (https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-5.0#list-of-encodings)。以下是目前支持的编码:
Code Page | Name | Display Name |
---|---|---|
Code Page | Name | Display Name |
1200 | utf-16 | Unicode |
1201D | 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 |
COLLATE 用于大小写规范:该标志表示是使用 COLLATE 还是 UPPER 来保存大小写规范功能,例如 CASESPECIFIC 或 NOT CASESPECIFIC。默认情况下,它处于关闭状态,这意味着将使用 UPPER 函数模拟不区分大小写 (NOT CASESPECIFIC)。要了解有关 SnowConvert 如何处理大小写规范的更多信息,请查看此处。
备注
要查看适用于所有支持语言的设置,请前往以下 文章。
会话模式设置¶
此设置子页面用于指示输入代码的会话模式。
SnowConvert 以 TERA 和 ANSI 两种模式处理 Teradata 代码。目前,这仅限于字符数据的默认大小写规范及其对比较的影响。默认情况下,会话模式为 TERA。
请查看此处,详细了解 SnowConvert 如何根据会话模式处理和转换代码。
DB 对象名称设置¶
架构: 字符串值指定要应用的自定义架构名称。如果未指定,则将使用原始数据库名称。示例:DB1.myCustomSchema.Table1.
数据库: 字符串值指定要应用的自定义数据库名称。示例:MyCustomDB.PUBLIC.Table1.
默认值: 对象名称中将不使用上述任何设置。
准备代码设置¶
准备我的代码: 该标志用于指示是否应在解析和转换前处理输入代码。
格式转换设置¶
字符到数字的默认小数位数: CHARACTER 到近似数字转换的整数值(默认值:10)。
默认 TIMESTAMP 格式: TIMESTAMP 格式的字符串值(默认值:“YYYY/MM/DD HH:MI:SS”)。
默认 DATE 格式: DATE 格式的字符串值(默认值:“YYYY/MM/DD”)。
源 TIMEZONE: TIMEZONE 格式的字符串值(默认值:“GMT-5”)。
默认 TIME 格式: TIME格式的字符串值(默认值“HH:MI:SS”)。
BTEQ 目标语言、过程/宏¶
指定转换 Bteq 和 Mload 脚本文件的目标语言。目前支持的值是 SnowScript 和 Python。默认值设置为 Python。
指定用于转换存储过程和宏的目标语言的字符串值。目前支持的是:SnowScript 和 JavaScript。默认值设置为 SnowScript。
重置设置: 每个页面都有“Reset Settings”选项。如果您进行了更改,则可以将 SnowConvert 重置为其原始默认设置。