プライマリ・コンテンツに移動
Oracle® Call Interfaceプログラマーズ・ガイド
12c リリース1 (12.1)
B72465-07
目次へ移動
目次
索引へ移動
索引

前
次

OCIメッセージ関数

OCIメッセージ関数をリストし、説明します。

ユーザー・メッセージAPIは、カートリッジ開発者が、独自のメッセージおよびOracle Databaseメッセージを取得するための単純なインタフェースを提供します。

関連項目:

『Oracle Databaseデータ・カートリッジ開発者ガイド』

表22-8は、この項で説明しているOCIメッセージ関数を示しています。

表22-8 OCIメッセージ関数

関数 用途

OCIMessageClose()

メッセージ・ハンドルをクローズし、ハンドルに関連するすべてのメモリーを解放します。

OCIMessageGet()

メッセージを取り出します。バッファが0 (ゼロ)でない場合、この関数は、バッファにメッセージをコピーします。

OCIMessageOpen()

指定された言語でメッセージ・ハンドルをオープンします。

OCIMessageClose()

用途

メッセージ・ハンドルをクローズし、このハンドルに関連するすべてのメモリーを解放します。

構文

sword OCIMessageClose ( void      *hndl, 
                        OCIError  *errhp, 
                        OCIMsg    *msgh );

パラメータ

hndl (IN/OUT)

メッセージ言語のOCI環境ハンドルまたはユーザー・セッション・ハンドルへのポインタです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errhpに記録され、NULLポインタが戻されます。OCIErrorGet()のコールによって診断情報を取得できます。

msgh (IN/OUT)

OCIMessageOpen()によってすでにオープンされているメッセージ・ハンドルへのポインタです。

戻り値

OCI_SUCCESSOCI_INVALID_HANDLEまたはOCI_ERROR

OCIMessageGet()

用途

指定されたメッセージ番号のメッセージを取り出します。

構文

OraText *OCIMessageGet ( OCIMsg      *msgh, 
                         ub4         msgno, 
                         OraText     *msgbuf, 
                         size_t      buflen );

パラメータ

msgh (IN/OUT)

OCIMessageOpen()によってすでにオープンされているメッセージ・ハンドルへのポインタです。

msgno (IN)

メッセージ番号です。

msgbuf (OUT)

取り出したメッセージの宛先バッファへのポインタです。buflenが0 (ゼロ)の場合、NULLポインタを使用できます。

buflen (IN)

宛先バッファのサイズです。

コメント

buflenが0 (ゼロ)でない場合、この関数は、msgbufが指し示すバッファにメッセージをコピーします。buflenが0 (ゼロ)の場合、msghが指し示すメッセージ・ハンドル内のメッセージ・バッファにメッセージがコピーされます。

戻り値

NULLで終了するメッセージ文字列へのポインタが戻されます。翻訳されたメッセージが検出できない場合、同等の英語のメッセージが戻されます。同等の英語のメッセージが検出できない場合、NULLポインタが戻されます。

OCIMessageOpen()

用途

指定された言語でメッセージ処理機能をオープンします。

構文

sword OCIMessageOpen ( void             *hndl, 
                       OCIError         *errhp, 
                       OCIMsg           *msghp, 
                       const OraText    *product, 
                       const OraText    *facility, 
                       OCIDuration      dur );

パラメータ

hndl (IN/OUT)

メッセージ言語のOCI環境ハンドルまたはユーザー・セッション・ハンドルへのポインタです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errhpに記録され、NULLポインタが戻されます。OCIErrorGet()のコールによって診断情報を取得できます。

msghp (OUT)

戻りのためのメッセージ・ハンドルです。

product (IN)

製品名へのポインタです。製品名は、メッセージのディレクトリを検出するために使用されます。位置は、オペレーティング・システムによって異なります。たとえば、Solarisの場合、rdbms製品のメッセージ・ファイルのディレクトリは$ORACLE_HOME/rdbmsです。

facility (IN)

製品の機能名へのポインタです。メッセージ・ファイル名を構成するのに使用されます。メッセージ・ファイル名は、接頭辞としてfacility名が付く変換に従います。たとえば、英語のimg機能のメッセージ・ファイル名はimgus.msbです。ここで、usは英語の略語で、msbはメッセージ・バイナリ・ファイルの拡張子です。

dur (IN)

戻りメッセージ・ハンドルのメモリー割当ての継続期間です。次のいずれかの値です。

  • OCI_DURATION_PROCESS

  • OCI_DURATION_SESSION

  • OCI_DURATION_STATEMENT

コメント

OCIMessageOpen()は、まず、hndlに対応するメッセージ・ファイルをオープンします。オープンに成功すると、そのファイルを使用してメッセージ・ハンドルを初期化します。言語に対応するメッセージ・ファイルが検出できない場合、代替として主要言語ファイルを検索します。たとえば、南米スペイン語のファイルが検出できない場合、スペイン語のファイルをオープンします。代替手段が失敗すると、言語がAMERICANであるデフォルトのメッセージ・ファイルを使用します。関数は、msghpパラメータにメッセージ・ハンドルへのポインタを戻します。

戻り値

OCI_SUCCESSOCI_INVALID_HANDLEまたはOCI_ERROR