主コンテンツへ
Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX
12c (12.2.0.1)
E70112-04
目次へ移動
目次

前
次

6.50 SET_SESSION_CHARSET

適用対象

ExtractおよびReplicat

説明

SET_SESSION_CHARSETファンクションでは、ユーザー・イグジットのキャラクタ・セットを設定します。ユーザー・イグジット・セッションのキャラクタ・セットは、次のような(ただしこれらに限定されません)メタデータなど、ユーザー・イグジットとコール元プロセス(Extract、データ・ポンプ、Replicat)間で使用される文字ベースのコールバック構造メンバーのエンコーディングを示します。

  • データベースの名前およびロケール

  • 表名および列名

  • DDLテキスト

  • エラー・メッセージ

  • CHARおよびNCHARなどの文字型の列

  • 文字列形式で表される日時および数値の列

このファンクションは、ユーザー・イグジットが制御しているときはいつでも呼び出すことができます。ユーザー・イグジットがセッションのキャラクタ・セットを設定すると、すぐに有効になり、すべての文字値は指定したセットへの変換を開始します。このファンクションを呼び出すには、コール・タイプEXIT_CALL_STARTを使用することをお薦めします。

注意:

SET_SESSION_CHARSETはスレッドセーフではありません。

SET_SESSION_CHARSETが呼び出されない場合、セッションは、ucharset.hファイルのULIB_CS_DEFAULTの事前定義された列挙型の値であるオペレーティング・システムのデフォルトのキャラクタ・セットに設定されます。セッションのキャラクタ・セットがULIB_CS_DEFAULTからのデフォルトである場合、ユーザー・イグジットとコール元プロセス間で交換される文字型の値に対して、Oracle GoldenGateでは変換は実行されません。さらに、データベースのオブジェクト名のメタデータは、オペレーティング・システムのデフォルトのキャラクタ・セットであるとみなされます。デフォルトは適切ではない場合があることに注意してください。

ユーザー・イグジットがロードされ、SET_SESSION_CHARSETが呼び出されると、ユーザー・イグジットのキャラクタ・セットはレポート・ファイルに出力されます。セッションのキャラクタ・セットがULIB_CS_DEFAULTである場合、列データのキャラクタ・セットの変換が実行されないことを示すメッセージが表示されます。

グローバリゼーション・サポートの詳細は、Oracle GoldenGateの管理for Windows and UNIXを参照してください。

構文

#include usrdecs.h
short result_code;
session_def session_charset_def;
ERCALLBACK (SET_SESSION_CHARSET, &session_charset_def, &result_code);

バッファ

typedef struct
{
ULibCharSet  session_charset;
} session_def;

入力

session_charset

セッションのキャラクタ・セットの有効な値は、ヘッダー・ファイルucharset.hで定義されます。

出力

なし

返される値

EXIT_FN_RET_OK