O Oracle transmite dados de caractere ao PowerExchange com base na parte de conjunto de caracteres da variável de ambiente NLS_LANG. Defina a variável de ambiente NLS_LANG. Você também pode precisar especificar uma instrução ORACLECODEPAGE no arquivo de configuração dbmover.cfg.
Se a variável de ambiente NLS_LANG especificar UTF8 ou AL32UTF8, o PowerExchange determinará a página de código com a qual processar sequências de caracteres de conexão, instruções SQL, dados de coluna e dados de parâmetro.
Se a variável de ambiente NLS_LANG especificar um conjunto de caracteres diferente de UTF8 ou AL32UTF8, defina a instrução ORACLECODEPAGE no arquivo de configuração dbmover.cfg.
A instrução ORACLECODEPAGE determina as páginas de código que o PowerExchange e o PowerCenter usam em um banco de dados Oracle durante as operações de movimentação de dados em massa. Essas páginas de código devem corresponder ao conjunto de caracteres especificado na variável de ambiente NLS_LANG.
Use a seguinte sintaxe para digitar essa instrução:
ORACLECODEPAGE=(
tnsname_host
,
pwx_codepage
,
pc_codepage
)
A instrução contém os seguintes parâmetros posicionais:
tnsname_host
Obrigatório. Uma entrada no arquivo de configuração tnsnames.ora do Oracle para um banco de dados Oracle. A entrada define o endereço do banco de dados que o PowerExchange usa para estabelecer conexão com o banco de dados.
pwx_codepage
Obrigatório. Um número de página de código ou nome alias que o PowerExchange usa para identificar uma página de código. Para determinar os valores válidos de página de código e alias do PowerExchange, use o utilitário ICUCHECK para gerar o relatório 5, “Nomes e Alias de Página de Código do PowerExchange”.
O PowerExchange suporta alguns nomes comuns de conjunto de caracteres do Oracle como alias para páginas de código.
pc_codepage
Opcional. Um nome que controla o processamento das instruções SQL que o PowerExchange transmite ao Oracle em nome da sessão de movimentação de dados em massa do PowerCenter. O PowerExchange especifica um padrão que normalmente é adequado.
Não especifique esse parâmetro, exceto em circunstâncias especiais, quando o padrão não funciona. Por exemplo, se você especificar uma página de código ICU definida pelo usuário para o parâmetro
pwx_codepage
, especifique esse parâmetro.
Por exemplo, se a variável de ambiente NLS_LANG especificar Korean_Korea.KO16MSWIN949, defina a seguinte instrução ORACLECODEPAGE no arquivo dbmover.cfg:
ORACLECODEPAGE=(KO102DTL,MS949)
Você pode especificar até 20 instruções ORACLECODEPAGE, cada uma para um banco de dados distinto, em um arquivo dbmover.cfg.
Se o PowerExchange usar a mesma variável de ambiente NLS_LANG para acessar vários bancos de dados Oracle, você não precisará especificar uma instrução ORACLECODEPAGE diferente para cada banco de dados. Em vez disso, especifique uma única instrução ORACLECODEPAGE e deixe o parâmetro
tnsname_host
em branco. A página de código especificada então se aplicará a todos os bancos de dados com uma entrada no arquivo tnsnames.ora. O exemplo a seguir mostra uma instrução sem um parâmetro
tnsname_host
:
ORACLECODEPAGE=(,MS1252)
Se você digitar um valor de página de código incorreto do PowerCenter, a rotina ODLNumResultCols em geral reportará o código de retorno 911 do Oracle.