SnowConvert AI - Configurações de conversão do Teradata¶
Configurações gerais de conversão¶
Configurações gerais de resultados¶
.png)
Comment objects with missing dependencies: Sinalizador para indicar se o usuário deseja comentar sobre nós que têm dependências ausentes.
Disable EWI comments generation (errors, warnings and issues): Sinalizador para indicar se os comentários de EWIs (Erros, Avisos e Problemas) não serão gerados no código convertido. O padrão é false
Gere tags XML para instruções SQL em procedimentos armazenados: Sinalizador para indicar se as instruções SQL SELECT, INSERT, CREATE, DELETE, UPDATE, DROP, MERGE em procedimentos armazenados serão marcadas no código convertido. Esse recurso é usado para facilitar a identificação de instruções no código migrado. O fato de envolver essas instruções nessas tags semelhantes a XMLpermite que outros programas as encontrem e extraiam rapidamente. O código decorado tem a seguinte aparência:
//<SQL_DELETE EXEC(DELETE FROM SB_EDP_SANDBOX_LAB.PUBLIC.USER_LIST,[]) //SQL_DELETE!>
Separate Period Data-type definitions and usages into begin and end Data-Time fields: Esse sinalizador é usado para indicar que a ferramenta deve migrar qualquer uso do tipo de dados PERIOD como dois campos DATETIME separados que manterão os valores originais de início e fim do período. Sempre que um campo ou função de período for migrado usando esse sinalizador, SSC-EWI-TD0053 serão adicionados para avisar sobre essa alteração.
Código de entrada:
CREATE TABLE myTable( col1 PERIOD(DATE), col2 VARCHAR(50), col3 PERIOD(TIMESTAMP) );
Código de saída:
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"}}' ;
Definir codificação dos arquivos de entrada: verifique as Configurações gerais de conversão para obter mais detalhes.
Use COLLATE para especificação de maiúsculas/minúsculas: Este sinalizador indica se será usado COLLATE ou UPPER para preservar a funcionalidade da especificação de maiúsculas/minúsculas, por exemplo CASESPECIFIC ou NOT CASESPECIFIC. Por padrão, ele é desativado, o que significa que a função UPPER será usada para emular a não diferenciação entre maiúsculas e minúsculas (NOT CASESPECIFIC). Para saber mais sobre como a especificação de maiúsculas/minúsculas é tratada pelo SnowConvert AI, consulte aqui.
Nota
Para revisar as configurações que se aplicam a todas as linguagens compatíveis, acesse o seguinte artigo SnowConvert AI - Configurações gerais de conversão.
Configurações do modo de sessão¶
Essa subpágina de configurações é usada para indicar o modo de sessão do código de entrada.
.png)
O SnowConvert AI trata o código Teradata nos modos TERA e ANSI. Atualmente, isto está limitado à especificação de maiúsculas/minúsculas padrão dos dados de caracteres e como isso afeta as comparações. Por padrão, o modo de sessão é TERA.
Para saber mais sobre como o SnowConvert AI trata e converte código dependendo do modo de sessão, consulte aqui.
Configurações de nomes de objetos DB¶
.png)
Schema: O valor da cadeia de caracteres especifica o nome do esquema personalizado a ser aplicado. Se não for especificado, será usado o nome original do banco de dados. Exemplo: DB1.myCustomSchema.Table1.
Database: O valor da cadeia de caracteres especifica o nome do banco de dados personalizado a ser aplicado. Exemplo: MyCustomDB.PUBLIC.Table1.
Default: Nenhuma das configurações acima será usada nos nomes dos objetos.
Preparar configurações de código¶
.png)
Descrição¶
Preparar meu código: sinalizador para indicar se o código de entrada deve ser processado antes da análise e da transformação. Isso pode ser útil para melhorar o processo de análise. Por padrão, ele é definido como FALSE.
Divide os objetos de nível superior do código de entrada em vários arquivos. As pastas seriam organizadas da seguinte forma:
└───A new folder named ''[input_folder_name]_Processed''
└───Top-level object type
└───Schema name
Exemplo¶
Entrada¶
├───in
│ DDL_Macros.sql
│ DDL_Procedures.sql
│ DDL_Tables.sql
Saída¶
Assuma que o nome dos arquivos corresponde ao nome dos objetos de nível superior nos arquivos de entrada.
├───in_Processed
├───macro
│ └───MY_DATABASE
│ MY_FIRST_MACRO.sql
│ ANOTHER_MACRO.sql
│
├───procedure
│ └───MY_DATABASE
│ A_PROCEDURE.sql
│ ANOTHER_PROCEDURE.sql
│ YET_ANOTHER_PROCEDURE.sql
│
└───table
└───MY_DATABASE
MY_TABLE.sql
ADDITIONAL_TABLE.sql
THIRD_TABLE.sql
Dentro da pasta “nome do esquema”, deve haver tantos arquivos quantos objetos de nível superior no código de entrada. Além disso, é possível ter cópias de alguns arquivos quando vários objetos de nível superior do mesmo tipo têm o mesmo nome. Nesse caso, os nomes dos arquivos serão enumerados em ordem crescente.

Somente arquivos com as extensões “.sql”, “.ddl” e “.dml” serão considerados para divisão. Outros tipos de arquivos, como scripts “.bteq”, serão copiados para a pasta pré-processada e serão categorizados dependendo da extensão do script, mas não serão modificados pela tarefa de divisão.
Requisitos ¶
Para identificar objetos de nível superior, uma tag deve ser incluída em um comentário antes de sua declaração. Nossos scripts extração geram essas tags.
A tag deve seguir o seguinte formato:
<sc-top_level_object_type>top_level_object_name</sc-top_level_object_type>
Você pode seguir o próximo exemplo:
/* <sc-table> MY_DATABASE.MY_TABLE</sc-table> */
CREATE TABLE "MY_DATABASE"."MY_TABLE" (
"MY_COLUMN" INTEGER
) ;
Configurações de conversão de formato¶
.png)
Escala padrão de caractere para número: Um valor inteiro para a transformação de CHARACTER em número aproximado (Padrão: 10).
Formato TIMESTAMP padrão: Valor da cadeia de caracteres para o formato de TIMESTAMP (Padrão: «YYYY/MM/DD HH:MI:SS.FF6»).
Formato padrão DATE: Valor da cadeia de caracteres para o formato DATE (Padrão: «YYYY/MM/DD»).
Source TIMEZONE: Valor da cadeia de caracteres para o formato TIMEZONE (Padrão: «GMT-5»).
Formato TIME padrão: Valor da cadeia de caracteres para o formato de TIME (Padrão: «HH/MI/SS FF6»).
Linguagem de destino para BTEQ, Procedimentos/Macros¶
.png)
Especifica a linguagem de destino para converter os arquivos de script do Bteq e do Mload. Os valores atualmente suportados são SnowScript e Python. O valor padrão é definido como Python.
.png)
Valor de cadeia de caracteres que especifica a linguagem de destino para converter procedimentos armazenados e macros. As opções atualmente suportadas são: SnowScript e JavaScript. O valor padrão é definido como SnowScript.
Redefinir configurações: a opção de redefinição de configurações aparece em todas as páginas. Se você tiver feito alterações, será possível redefinir SnowConvert AI às suas configurações padrão originais.
Table translation¶
Used to specify the type of tables that SnowConvert AI will output for table transformations, currently:
Snowflake-native tables
Default is Snowflake-native tables.
The selected table type will be generated unless the source table is considered not compatible, the following criteria is applied for incompatible tables generation:
Table type |
Not compatible tables |
|---|---|
Iceberg tables in Snowflake Horizon Catalog |
Temporary tables (VOLATILE) |
Any table not compatible with the specified table type will not be affected by the setting and transformed to its default table type.