SnowConvert AI - Configurações de conversão do Teradata

Configurações gerais de conversão

Configurações gerais de resultados

Subpágina de configurações gerais de resultados

  1. Comment objects with missing dependencies: Sinalizador para indicar se o usuário deseja comentar sobre nós que têm dependências ausentes.

  2. 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

  3. 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!>
    
    Copy
  4. 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)
    );
    
    Copy

    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"}}'
    ;
    
    Copy
  5. Definir codificação dos arquivos de entrada: verifique as Configurações gerais de conversão para obter mais detalhes.

  6. 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.

Subpágina de configurações do modo de sessão

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

Página de configurações de nomes de objetos DB

  1. 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.

  2. Database: O valor da cadeia de caracteres especifica o nome do banco de dados personalizado a ser aplicado. Exemplo: MyCustomDB.PUBLIC.Table1.

  3. Default: Nenhuma das configurações acima será usada nos nomes dos objetos.

Preparar configurações de código

Página de configurações de preparação de código

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
Copy

Exemplo

Entrada

├───in
│       DDL_Macros.sql
│       DDL_Procedures.sql
│       DDL_Tables.sql
Copy

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
Copy

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>
Copy

Você pode seguir o próximo exemplo:

/* <sc-table> MY_DATABASE.MY_TABLE</sc-table> */
CREATE TABLE "MY_DATABASE"."MY_TABLE" (
    "MY_COLUMN" INTEGER
) ;
Copy

Configurações de conversão de formato

Página de configurações de conversão de formato

  1. Escala padrão de caractere para número: Um valor inteiro para a transformação de CHARACTER em número aproximado (Padrão: 10).

  2. Formato TIMESTAMP padrão: Valor da cadeia de caracteres para o formato de TIMESTAMP (Padrão: «YYYY/MM/DD HH:MI:SS.FF6»).

  3. Formato padrão DATE: Valor da cadeia de caracteres para o formato DATE (Padrão: «YYYY/MM/DD»).

  4. Source TIMEZONE: Valor da cadeia de caracteres para o formato TIMEZONE (Padrão: «GMT-5»).

  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

Página de configurações da linguagem de destino BTEQ

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.

Página de configurações da linguagem de destino de Procedimentos/Macros

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.