Especificando Nomes de Objetos na Entrada do Oracle GoldenGate
As regras a seguir se aplicam ao especificar nomes de objeto em arquivos de parâmetros (como em instruções TABLE e MAP), funções de conversão de coluna, comandos e em outra entrada.
Especificando nomes de caminho do sistema de arquivos em arquivos de parâmetros em sistemas Windows
Em sistemas Windows, se o nome de qualquer diretório em um nome de caminho do sistema de arquivos começar com um número, o caminho deverá ser especificado com barras, e não barras invertidas, ao listar esse caminho na entrada do Oracle GoldenGate, como arquivos de parâmetros ou comandos. Esse requisito impede que o Oracle GoldenGate interprete o nome como uma sequência de escape octal. Por exemplo, os seguintes caminhos contêm um diretório chamado \2023 que será interpretado como a sequência octal \202:
C:\deployments\ea
C:\deployments\north\ea
C:\deployments\north\2023\ea
O caminho anterior pode ser usado com barras da seguinte forma:
C:/deployments/ea
C:/deployments/north/ea
Para obter mais informações, consulte Suporte para Sequências de Escape.
Especificando Nomes que Contêm Intervalos
Se um nome de tabela contiver um caractere de barra (/) em qualquer parte de seu nome, esse componente de nome deverá ser colocado entre aspas duplas, a menos que o nome do objeto seja de uma plataforma IBM i . Estes são alguns exemplos:
"c/d"
"/a".b
a."b/"
Se o nome contiver uma barra que não esteja entre aspas duplas, o Oracle GoldenGate o tratará como um nome que se originou na plataforma IBM i (de um DB2 para o banco de dados i). A barra no nome é interpretada como um caractere separador.
Especificando Nomes de Objetos de Banco de Dados com Distinção entre Maiúsculas e Minúsculas
O Oracle GoldenGate suporta nomes que fazem distinção entre maiúsculas e minúsculas. Siga essas regras ao especificar objetos com distinção entre maiúsculas e minúsculas.
-
Especifique nomes de objeto de um banco de dados com distinção entre maiúsculas e minúsculas no mesmo formato usado para armazená-los no banco de dados host. Lembre-se de que, em alguns tipos de banco de dados, diferentes níveis do banco de dados podem fazer distinção entre maiúsculas e minúsculas, como esquema com distinção entre maiúsculas e minúsculas, mas tabela sem distinção entre maiúsculas e minúsculas. Se o banco de dados exigir aspas para impor a distinção entre maiúsculas e minúsculas, coloque aspas ao redor de cada objeto que faça distinção entre maiúsculas e minúsculas no nome qualificado.
Correto:
TABLE "Sales"."ACCOUNT"Incorreto:
TABLE "Sales.ACCOUNT" -
O Oracle GoldenGate converte nomes que não fazem distinção entre maiúsculas e minúsculas no caso em que são armazenados quando necessário para fins de mapeamento.
A Tabela 9-17 fornece uma visão geral do suporte para diferenciação entre maiúsculas e minúsculas em nomes de objeto, de acordo com o banco de dados suportado. Consulte a documentação do banco de dados para obter detalhes sobre esse tipo de suporte.
Tabela 17 - Diferenciação entre Maiúsculas e Minúsculas de Nomes de Objetos por Banco de Dados
| Banco de Dados | Requer cotações para impor distinção entre maiúsculas e minúsculas? | Nome do objeto sem aspas | Nome do objeto entre aspas |
|---|---|---|---|
| DB2 | Sim. Diferencia entre distinção entre maiúsculas e minúsculas e entre maiúsculas e minúsculas usando aspas. | Sem distinção entre maiúsculas e minúsculas, armazena em maiúsculas | Faz distinção entre maiúsculas e minúsculas, armazena em maiúsculas e minúsculas |
MySQL (banco de dados com distinção entre maiúsculas e minúsculas) |
Não
|
Não há efeito | Não há efeito |
| Oracle AI Database | Sim. Diferencia entre distinção entre maiúsculas e minúsculas e entre maiúsculas e minúsculas usando aspas. | Não faz distinção entre maiúsculas e minúsculas; armazena em maiúsculas | Faz distinção entre maiúsculas e minúsculas, armazena em maiúsculas e minúsculas |
SQL Server (Banco de dados criado com distinção entre maiúsculas e minúsculas) |
Não Sempre faz distinção entre maiúsculas e minúsculas, armazena em maiúsculas e minúsculas mistas |
Não há efeito |
Não há efeito |
SQL Server (Banco de dados criado sem distinção entre maiúsculas e minúsculas) |
Não Sempre sem distinção entre maiúsculas e minúsculas, armazena em maiúsculas e minúsculas mistas |
Não há efeito | Não há efeito |
| Teradados | Não Sempre sem distinção entre maiúsculas e minúsculas, armazena em maiúsculas e minúsculas mistas |
Não há efeito | Não há efeito |
Observação: para todos os bancos de dados suportados, as senhas sempre são tratadas com distinção entre maiúsculas e minúsculas, independentemente de o nome do objeto associado ter aspas ou não.
Diferenciando Nomes de Colunas com Distinção entre Maiúsculas e Minúsculas de Literais
Por padrão, o Oracle GoldenGate segue as regras SQL-92 para especificar nomes e literais de colunas. Nos arquivos de parâmetros, nas funções de conversão, nas saídas do usuário e nos comandos do Oracle GoldenGate, os nomes de colunas com distinção entre maiúsculas e minúsculas deverão estar entre aspas duplas se o banco de dados exigir aspas em torno de um nome para suportar distinção entre maiúsculas e minúsculas. Por exemplo:
"columnA"
Os nomes de colunas com distinção entre maiúsculas e minúsculas em bancos de dados que não requerem aspas para impor a distinção entre maiúsculas e minúsculas devem ser especificados à medida que são armazenados no banco de dados. Por exemplo:
ColumnA
Os literais devem estar entre aspas simples. No exemplo a seguir, Product_Code é um nome de coluna com distinção entre maiúsculas e minúsculas em um Oracle AI Database, e as outras strings são literais.
@CASE ("Product_Code", 'CAR', 'A car', 'TRUCK', 'A truck')