SnowConvert: Teradata 转换设置

常规转换设置

常规结果设置

“General Result Settings”子页面

  1. 注释缺失依赖项的对象: 该标志用于指示用户是否想要注释缺少依赖关系的节点。

  2. 禁用 EWI 注释生成(错误、警告和问题): 该标志用于指示是否不会在转换后的代码上生成 EWIs 注释(错误、警告和问题)。默认值为 false

  3. 为存储过程中的 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!>
    
    Copy
  4. 将时段数据类型的定义和用法分成开始和结束数据时间字段: 该标志用于表示该工具应将 PERIOD 数据类型的任何使用迁移为两个单独的 DATETIME 字段,用于分别保存原始时间段的开始值和结束值,每当使用此标志迁移时间段字段或函数时,都会添加 SSC-EWI-TD0053,以提示该项更改。

    输入代码:

    CREATE TABLE myTable(
       col1 PERIOD(DATE),
       col2 VARCHAR(50),
       col3 PERIOD(TIMESTAMP)
    );
    
    Copy

    输出代码:

    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"}}'
    ;
    
    Copy
  5. 设置输入文件的编码: 编码代码页码用于解析源文件。我们只接受 NET Core 支持的编码 (https://docs.microsoft.com/en-us/dotnet/api/system.text.encoding?view=net-5.0#list-of-encodings)。以下是目前支持的编码:

Code PageNameDisplay Name
Code PageNameDisplay Name
1200utf-16Unicode
1201DunicodeFFFEUnicode (Big endian)
12000utf-32Unicode (UTF-32)
12001utf-32BEUnicode (UTF-32 Big endian)
20127us-asciiUS-ASCII
28591iso-8859-1Western European (ISO)
65000utf-7Unicode (UTF-7). Not available in .NET 5
65001utf-8Unicode (UTF-8). Default encoding
  1. COLLATE 用于大小写规范:该标志表示是使用 COLLATE 还是 UPPER 来保存大小写规范功能,例如 CASESPECIFIC 或 NOT CASESPECIFIC。默认情况下,它处于关闭状态,这意味着将使用 UPPER 函数模拟不区分大小写 (NOT CASESPECIFIC)。要了解有关 SnowConvert 如何处理大小写规范的更多信息,请查看此处。

备注

要查看适用于所有支持语言的设置,请前往以下 文章

会话模式设置

此设置子页面用于指示输入代码的会话模式。

“Session Mode Settings”子页面

SnowConvert 以 TERA 和 ANSI 两种模式处理 Teradata 代码。目前,这仅限于字符数据的默认大小写规范及其对比较的影响。默认情况下,会话模式为 TERA。

请查看此处,详细了解 SnowConvert 如何根据会话模式处理和转换代码。

DB 对象名称设置

“DB Objects Names Settings”页面

  1. 架构: 字符串值指定要应用的自定义架构名称。如果未指定,则将使用原始数据库名称。示例:DB1.myCustomSchema.Table1.

  2. 数据库: 字符串值指定要应用的自定义数据库名称。示例:MyCustomDB.PUBLIC.Table1.

  3. 默认值: 对象名称中将不使用上述任何设置。

准备代码设置

“Prepare Code Settings”页面

  1. 准备我的代码: 该标志用于指示是否应在解析和转换前处理输入代码。

格式转换设置

“Format Conversion Settings”页面

  1. 字符到数字的默认小数位数: CHARACTER 到近似数字转换的整数值(默认值:10)。

  2. 默认 TIMESTAMP 格式: TIMESTAMP 格式的字符串值(默认值:“YYYY/MM/DD HH:MI:SS”)。

  3. 默认 DATE 格式: DATE 格式的字符串值(默认值:“YYYY/MM/DD”)。

  4. 源 TIMEZONE: TIMEZONE 格式的字符串值(默认值:“GMT-5”)。

  5. 默认 TIME 格式: TIME格式的字符串值(默认值“HH:MI:SS”)。

BTEQ 目标语言、过程/宏

“BTEQ Target Language Settings”页面

指定转换 Bteq 和 Mload 脚本文件的目标语言。目前支持的值是 SnowScriptPython。默认值设置为 Python

“Procedures/Macros Target Language Settings”页面

指定用于转换存储过程和宏的目标语言的字符串值。目前支持的是:SnowScriptJavaScript。默认值设置为 SnowScript

重置设置: 每个页面都有“Reset Settings”选项。如果您进行了更改,则可以将 SnowConvert 重置为其原始默认设置。

语言: 中文