31.7 OCIメッセージ関数
OCIメッセージ関数をリストし、説明します。
ユーザー・メッセージAPIは、カートリッジ開発者が、独自のメッセージおよびOracle Databaseメッセージを取得するための単純なインタフェースを提供します。
表31-7は、この項で説明しているOCIメッセージ関数を示しています。
表31-7 OCIメッセージ関数
| 関数 | 用途 |
|---|---|
|
メッセージ・ハンドルをクローズし、ハンドルに関連するすべてのメモリーを解放します。 |
|
|
メッセージを取り出します。バッファが0 (ゼロ)でない場合、この関数は、バッファにメッセージをコピーします。 |
|
|
指定された言語でメッセージ・ハンドルをオープンします。 |
31.7.1 OCIMessageClose()
メッセージ・ハンドルをクローズし、このハンドルに関連するすべてのメモリーを解放します。
用途
メッセージ・ハンドルをクローズし、このハンドルに関連するすべてのメモリーを解放します。
構文
sword OCIMessageClose ( void *hndl,
OCIError *errhp,
OCIMsg *msgh );パラメータ
戻り値
OCI_SUCCESS、OCI_INVALID_HANDLEまたはOCI_ERROR。
関連トピック
31.7.2 OCIMessageGet()
指定されたメッセージ番号のメッセージを取り出します。
用途
指定されたメッセージ番号のメッセージを取り出します。
構文
OraText *OCIMessageGet ( OCIMsg *msgh,
ub4 msgno,
OraText *msgbuf,
size_t buflen );パラメータ
コメント
buflenが0 (ゼロ)でない場合、この関数は、msgbufが指し示すバッファにメッセージをコピーします。buflenが0 (ゼロ)の場合、msghが指し示すメッセージ・ハンドル内のメッセージ・バッファにメッセージがコピーされます。
戻り値
NULLで終了するメッセージ文字列へのポインタが戻されます。翻訳されたメッセージが検出できない場合、同等の英語のメッセージが戻されます。同等の英語のメッセージが検出できない場合、NULLポインタが戻されます。
関連トピック
31.7.3 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_SUCCESS、OCI_INVALID_HANDLEまたはOCI_ERROR。
関連トピック