SET_SESSION_CHARSET
Válido Para
Extract e Replicat
Descrição
Use a função SET_SESSION_CHARSET para definir o conjunto de caracteres da saída do usuário. O conjunto de caracteres da sessão de saída do usuário indica a codificação de quaisquer membros da estrutura de callback baseados em caracteres que são usados entre a saída do usuário e o processo do chamador (Extract, data pump, Replicat), incluindo metadados como (mas não limitado a):
-
nomes e configurações regionais do banco de dados
-
nomes de coluna e de tabela
-
Texto
DDL -
mensagens de erro
-
colunas do tipo caractere, como
CHAReNCHAR -
colunas de data e hora e numéricas representadas na forma de string
Esta função pode ser chamada a qualquer momento que a saída do usuário tenha controle. Quando a saída do usuário define o conjunto de caracteres da sessão, ela entra em vigor imediatamente, e todos os valores de caracteres começam a ser convertidos no conjunto especificado. O local recomendado para chamar essa função é com o tipo de chamada EXIT_CALL_START.
Observação: SET_SESSION_CHARSET não é thread-safe.
Se SET_SESSION_CHARSET não for chamado, a sessão será definida como o conjunto de caracteres padrão do sistema operacional, que é um valor de tipo enumerado predefinido em ULIB_CS_DEFAULT no arquivo ucharset.h. Quando o conjunto de caracteres da sessão é um padrão de ULIB_CS_DEFAULT, nenhuma conversão é executada pelo Oracle GoldenGate para valores de tipo de caractere que são trocados entre a saída do usuário e o processo do chamador. Além disso, os metadados do nome do objeto do banco de dados são considerados o conjunto de caracteres padrão do sistema operacional. Lembre-se de que o padrão pode não estar correto.
O conjunto de caracteres da saída do usuário é impresso no arquivo de relatório quando a saída do usuário é carregada e quando o SET_SESSION_CHARSET é chamado. Se o conjunto de caracteres da sessão for ULIB_CS_DEFAULT, haverá uma mensagem informando que nenhuma conversão de conjunto de caracteres de dados da coluna está sendo executada.
Sintaxe
#include usrdecs.h
short result_code;
session_def session_charset_def;
ERCALLBACK (SET_SESSION_CHARSET, &session_charset_def, &result_code);
Buffer
typedef struct
{
ULibCharSet session_charset;
} session_def;
Entrada
<session_charset>
Os valores válidos do conjunto de caracteres da sessão são definidos no arquivo de cabeçalho ucharset.h.
Saída
Nenhum
Valores de Retorno
EXIT_FN_RET_OK