Oracle® Fusion Middleware Oracle GoldenGateリファレンスfor Windows and UNIX 12c (12.2.0.1) E70112-04 |
|
前 |
次 |
ERCALLBACK
では、コールバック・ルーチンを実行します。ユーザー・コールバック・ルーチンは、ExtractまたはReplicatプロセスからコンテキスト情報を取得し、コール・タイプが次のいずれかのときにレコード自体を含むコンテキスト値を設定します。
EXIT_CALL_PROCESS_RECORD
EXIT_CALL_DISCARD_RECORD
EXIT_CALL_DISCARD_ASCII_RECORD
構文
ERCALLBACK (function_code, buffer, result_code );
function_code
コールバック・ルーチンによって実行されるファンクション。ユーザー・コールバック・ルーチンは、コールバック・ルーチンに渡されるファンクション・コードに基づいて異なる動作をします。一部のファンクションは、ExtractおよびReplicat両方が使用できますが、各プロセスでのファンクションの有効性は、コールバック・ルーチン中にそのファンクションに対して設定される入力パラメータに依存します。使用可能なファンクション・コードの詳細は、ファンクション・コードを参照してください。
buffer
指定するファンクション・コードに関連付けられている事前定義済構造体を含むバッファへのvoidポインタ。
result_code
コールバック・ルーチンによって実行されるファンクションのステータス。コールバック・ルーチンによって返される結果コードは、コールバック・ファンクションが成功したかどうかを示します。結果コードは、表6-4の値の1つになります。
表6-4 結果コード
コード | 説明 |
---|---|
|
列データを取得または設定中に無効なデータを検出しました。 |
|
列 |
|
列の数値タイプに、無効な数値が含まれています。 |
|
圧縮更新レコードで列が見つかりませんでした(変更された値のみを記録するデータベースによる更新)。 |
|
指定された環境値がレコードに見つかりませんでした。 |
|
表または列名が割り当てられたバッファに収まらなかったため、メタデータを取得できませんでした。 |
|
レコードをフェッチできませんでした。エラー・メッセージを表示して理由を確認してください。 |
|
DDLレコードの処理中に内部エラーが発生しました。レコードが不完全の可能性があります。 |
|
無効なコールバック・ファンクション・コードがコールバック・ルーチンに渡されました。 |
|
ファンクション・コールで、存在しない列が参照されました。 |
|
ルーチンは、その目的ではOracle GoldenGateにサポートされていないデータ型を操作しようとしています。 |
|
コールバック・ファンクションが不適切なときにコールされました。 |
|
無効なパラメータがコールバック・ファンクションに渡されました。 |
|
ソース・データベース・インスタンスが見つかりませんでした。 |
|
ターゲット・データベース・インスタンスが見つかりませんでした。 |
|
このファンクションは、このプロセスに対してサポートされていません。 |
|
コールバック・ファンクションは成功しました。 |
|
キャラクタ・セット変換ルーチンに |
|
無効な表名が指定されました。 |
|
指定されたトークンがレコードに見つかりませんでした。 |