ヘッダーをスキップ
Oracle Call Interfaceプログラマーズ・ガイド
11g リリース1(11.1)
E05677-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

A ハンドルおよび記述子の属性

この付録では、OCIのハンドルおよび記述子の属性について説明します。この属性はOCIAttrGet()関数で読み取り、OCIAttrSet()関数で変更することができます。

この付録では、次の項目について説明します。

表記規則

それぞれのハンドル・タイプで読取りまたは変更が可能な属性をリストします。各属性リストには、次の情報が含まれています。

モード

有効なモードは次のとおりです。

読取り −OCIAttrGet()を使用して属性を読み取ります。

書込み −OCIAttrSet()を使用して属性を変更します。

読取り/書込み −OCIAttrGet()を使用して属性を読み取り、OCIAttrSet()を使用して属性を変更します。

説明

これは、属性の用途の説明です。

属性データ型

これは、属性のデータ型です。必要に応じて、読取りモードと書込みモードのデータ型が区別されます。

有効な値

一定の値のみが許可される場合には、その値を記載します。

一部の属性については例が記載されています。

環境ハンドル属性

OCI_ATTR_ALLOC_DURATION

モード

読取り/書込み

説明

この属性は、環境ハンドルに対応付けられたアプリケーションの割当て時間にOCI_DURATION_DEFAULTの値を設定します。

属性データ型

OCIDuration */OCIDuration

OCI_ATTR_BIND_DN

モード

読取り/書込み

説明

LDAPサーバーへの接続時に使用するログイン名(DN)です。

属性データ型

oratext **/oratext *

OCI_ATTR_CACHE_ARRAYFLUSH

モード

読取り/書込み

説明

この属性がTRUEに設定されている場合は、OCICacheFlush()のコールによって、共通の表に属するオブジェクトが一緒にフラッシュされるため、パフォーマンスを大幅に向上することができます。このモードは、オブジェクトのフラッシュの順序が重要でない場合にのみ使用します。このモードの間は、オブジェクトに使用済マークが設定される順序が保持される保証はありません。

属性データ型

boolean */boolean

OCI_ATTR_CACHE_MAX_SIZE

モード

読取り/書込み

説明

最適サイズのパーセンテージとして、クライアント側オブジェクト・キャッシュの最大サイズ(最高水位標)を設定します。通常、この値を最適サイズOCI_ATTR_CACHE_OPT_SIZEの10%(デフォルト)に設定できます。この属性を0に設定すると、値10が使用されます。オブジェクト・キャッシュは最大の最適値を使用して、オブジェクト・キャッシュ内の未使用メモリーを解放します。

属性データ型

ub4 */ub4

OCI_ATTR_CACHE_OPT_SIZE

モード

読取り/書込み

説明

クライアント側オブジェクト・キャッシュの最適サイズをバイト数で設定します。デフォルト値は8MBです。この属性を0に設定すると、8MBの値が使用されます。

属性データ型

ub4 */ub4

OCI_ATTR_ENV_CHARSET_ID

モード

読取り

説明

ローカル(クライアント側)キャラクタ・セットIDです。ユーザーは、環境ハンドルの作成後にこの設定を更新できますが、他のOCI関数をコールする前に行う必要があります。この制限によって、同じ環境ハンドル内のデータおよびメタデータ間の整合性が保証されます。UTF-16モードでは、この属性を取得できません。

属性データ型

ub2 *

OCI_ATTR_ENV_NCHARSET_ID

モード

読取り

説明

ローカル(クライアント側)各国語キャラクタ・セットIDです。ユーザーは、環境ハンドルの作成後にこの設定を更新できますが、他のOCI関数をコールする前に行う必要があります。この制限によって、同じ環境ハンドル内のデータおよびメタデータ間の整合性が保証されます。UTF-16モードでは、この属性を取得できません。

属性データ型

ub2 *

OCI_ATTR_ENV_UTF16

モード

読取り

説明

エンコーディング方法はUTF-16です。値1は環境ハンドルがUTF-16モードで作成されたことを示し、値0はそれ以外であることを示します。このモードはOCIEnvCreate()のコールでのみ設定でき、後で変更することはできません。

属性データ型

ub1 *

OCI_ATTR_EVTCBK

モード

書込み

説明

この属性は、イベント・コールバック関数を登録します。

属性データ型

OCIEventCallback

OCI_ATTR_EVTCTX

モード

書込み

説明

この属性は、イベント・コールバックに渡されるコンテキストを登録します。

属性データ型

void *

OCI_ATTR_HEAPALLOC

モード

読取り

説明

環境ハンドルから割り当てられたメモリーのカレント・サイズです。これは、アプリケーション内でメモリーが最も使用されている部分を追跡するのに役立ちます。

属性データ型

ub4 *

OCI_ATTR_LDAP_AUTH

モード

読取り/書込み

説明

認証モードです。次に示す値が有効です。

0x0: 認証なし。匿名のバインドです。

0x1: 簡易認証。ユーザー名およびパスワードによる認証です。

0x5: 認証なしのSSL接続。

0x6: SSL: サーバー認証のみ必要です。

0x7: SSL: サーバー認証とクライアント認証の両方が必要です。

0x8: 認証方式は実行時に判断されます。

属性データ型

ub2 */ub2

OCI_ATTR_LDAP_CRED

モード

読取り/書込み

説明

認証方式が簡易認証(ユーザー名およびパスワードによる認証)の場合、この属性には、LDAPサーバーへの接続時に使用するパスワードが保持されます。

属性データ型

oratext **/oratext *

OCI_ATTR_LDAP_CTX

モード

読取り/書込み

説明

クライアントの管理コンテキストです。通常は、LDAPサーバー内のOracle RDBMS LDAPスキーマのルートです。

属性データ型

oratext **/oratext *

OCI_ATTR_LDAP_HOST

モード

読取り/書込み

説明

LDAPサーバーが実行されているホスト名です。

属性データ型

oratext **/oratext *

OCI_ATTR_LDAP_PORT

モード

読取り/書込み

説明

LDAPサーバーがリスニングするポートです。

属性データ型

ub2 */ub2

OCI_ATTR_OBJECT

モード

読取り

説明

環境がオブジェクト・モードで初期化されている場合は、TRUEを戻します。

属性データ型

boolean *

OCI_ATTR_PINOPTION

モード

読取り/書込み

説明

この属性は、環境ハンドルに対応付けられたアプリケーションにOCI_PIN_DEFAULTの値を設定します。

たとえば、OCI_ATTR_PINOPTIONOCI_PIN_RECENTに設定されている場合に、pin_optionパラメータがOCI_PIN_DEFAULTに設定されているOCIObjectPin()をコールすると、オブジェクトはOCI_PIN_RECENTモードで確保されます。

属性データ型

OCIPinOpt */OCIPinOpt

OCI_ATTR_OBJECT_NEWNOTNULL

モード

読取り/書込み

説明

この属性がTRUEに設定されている場合は、新規に作成されるオブジェクトにNULL以外の属性が設定されます。

属性データ型

boolean */boolean

OCI_ATTR_OBJECT_DETECTCHANGE

モード

読取り/書込み

説明

この属性がTRUEに設定されている場合は、コミットされた別のトランザクションによってサーバー内で変更されたオブジェクトのフラッシュを試行すると、アプリケーションがORA-08179エラーを受け取ります。

属性データ型

boolean */boolean

OCI_ATTR_PIN_DURATION

モード

読取り/書込み

説明

この属性は、環境ハンドルに対応付けられたアプリケーションの確保継続時間にOCI_DURATION_DEFAULTの値を設定します。

属性データ型

OCIDuration */OCIDuration

OCI_ATTR_SHARED_HEAPALLOC

モード

読取り

説明

共有プールから現在割り当てられているメモリーのサイズを戻します。この属性はどの環境ハンドルでも使用できますが、有効な値を戻すには、プロセスを共有モードで初期化する必要があります。この属性は次のように読み取られます。

ub4 heapsz = 0;
OCIAttrGet((void *)envhp, (ub4)OCI_HTYPE_ENV,
           (void *) &heapsz, (ub4 *) 0,
           (ub4)OCI_ATTR_SHARED_HEAPALLOC, errhp);
属性データ型

ub4 *

OCI_ATTR_WALL_LOC

モード

読取り/書込み

説明

認証方式がSSL認証の場合、この属性にはクライアントWalletの位置が格納されます。

属性データ型

oratext **/oratext *

エラー・ハンドル属性

OCI_ATTR_DML_ROW_OFFSET

モード

読取り

説明

エラーが発生した(DML配列の)オフセットを戻します。

属性データ型

ub4 *

サービス・コンテキスト・ハンドル属性

OCI_ATTR_ENV

モード

読取り

説明

この属性は、サービス・コンテキストに対応付けられた環境コンテキストを戻します。

属性データ型

OCIEnv **

OCI_ATTR_IN_V8_MODE

モード

読取り

説明

アプリケーションが(OCISvcCtxToLda()コールなどによって)Oracleバージョン7モードに切り替えられているかどうかを判断できます。戻り値が0(ゼロ)以外(TRUE)の場合、アプリケーションは現在Oracleバージョン8モードで実行されており、戻り値が0(ゼロ)(FALSE)の場合、アプリケーションは現在Oracleバージョン7モードで実行されています。

属性データ型

ub1 *

次のコード例で、この属性の使用方法を示します。

in_v8_mode = 0;
OCIAttrGet ((void *)svchp, (ub4)OCI_HTYPE_SVCCTX, (ub1 *)&in_v8_mode,
                    (ub4) 0, OCI_ATTR_IN_V8_MODE, errhp);
if (in_v8_mode)
     fprintf (stdout, "In V8 mode\n");
else
     fprintf (stdout, "In V7 mode\n");

OCI_ATTR_SERVER

モード

読取り/書込み

説明

読取りモードでは、サービス・コンテキストのサーバー・コンテキスト属性へのポインタを戻します。

書込みモードでは、サービス・コンテキストのサーバー・コンテキスト属性を設定します。

属性データ型

OCIServer ** / OCIServer *

OCI_ATTR_SESSION

モード

読取り/書込み

説明

読取りモードでは、サービス・コンテキストの認証コンテキスト属性へのポインタを戻します。

書込みモードでは、サービス・コンテキストの認証コンテキスト属性を設定します。

属性データ型

OCISession **/ OCISession *

OCI_ATTR_STMTCACHESIZE

モード

読取り/書込み

説明

文キャッシュに対応したセッションの場合、デフォルトの文キャッシュのサイズ値は20です。このデフォルト値は、この属性をサービス・コンテキスト・ハンドルで設定して増減できますまた、この属性を使用して、(プールされたまたはプールされていない)セッションで文キャッシュを使用可能または使用不可にできます。文キャッシュを使用可能にするには属性をゼロ以外のサイズに、使用不可にするにはゼロに設定します。

属性データ型

ub4 */ ub4

OCI_ATTR_TRANS

モード

読取り/書込み

説明

読取りモードでは、サービス・コンテキストのトランザクション・コンテキスト属性へのポインタを戻します。

書込みモードでは、サービス・コンテキストのトランザクション・コンテキスト属性を設定します。

属性データ型

OCITrans ** / OCITrans *

サーバー・ハンドル属性


関連項目:


次のイベント・ハンドル属性もサーバー・ハンドルで使用できます。

OCI_ATTR_ACCESS_BANNER

モード

読取り

説明

ファイルからの不正アクセス・バナーを表示します。

属性データ型

oratext **

OCI_ATTR_ENV

モード

読取り

説明

サーバー・コンテキストに対応付けられた環境コンテキストを戻します。

属性データ型

OCIEnv **

OCI_ATTR_EXTERNAL_NAME

モード

読取り/書込み

説明

外部名は使用しやすいグローバルな名前です。これはsys.props$.value$に格納されています(name = 'GLOBAL_DB_NAME')。外部名は、すべてのデータベースでネットワーク・ディレクトリ・サービスを使用して登録しないかぎり、一意である保証はありません。

分散トランザクションを調整する場合に、データベース名をサーバーと交換できます。サーバー・データベース名には、OCISessionBegin()コールの発行時、データベースがオープンされていた場合のみ、アクセスすることができます。

属性データ型

oratext **/ oratext *

OCI_ATTR_FOCBK

モード

読取り/書込み

説明
属性データ型

OCIFocbkStruct *

OCI_ATTR_INTERNAL_NAME

モード

読取り/書込み

説明

グローバル・トランザクションの実行時に記録されるクライアント・データベース名を設定します。この名前は、障害のために準備状態で保留になっている可能性があるトランザクションを追跡するために、DBAで使用できます。

属性データ型

oratext **/ oratext *

OCI_ATTR_IN_V8_MODE

モード

読取り

説明

アプリケーションが(OCISvcCtxToLda()コールなどによって)Oracleバージョン7モードに切り替えられているかどうかを判断できます。戻り値が0(ゼロ)以外(TRUE)の場合、アプリケーションは現在Oracleバージョン8モードで実行されており、戻り値が0(ゼロ)(FALSE)の場合、アプリケーションは現在Oracleバージョン7モードで実行されています。

属性データ型

ub1 *

OCI_ATTR_NONBLOCKING_MODE

モード

読取り/書込み

説明

この属性は、ブロック化モードを判断します。サーバー・コンテキストが非ブロック化モードの場合、読取り時にこの属性値はTRUEを戻します。設定すると、非ブロック化モード属性が切り替えられます。この属性を設定できるのは、OCISessionBegin()またはOCILogon2()がコールされた後でのみです。設定されていない場合は、エラーが戻されます。

属性データ型

ub1 */ub1

OCI_ATTR_SERVER_GROUP

モード

読取り/書込み

説明

サーバー・グループを指定する、30文字以内の英数字文字列です。この属性は、OCIServerAttach()のコール後にのみ設定できます。

属性データ型

oratext **/oratext *

OCI_ATTR_SERVER_STATUS

モード

読取り

説明

サーバー・ハンドルの現行の状態を戻します。値は次のとおりです。

属性データ型

ub4 *

次のコード例で、このパラメータの使用方法を示します。

ub4 serverStatus = 0
OCIAttrGet((void *)srvhp, OCI_HTYPE_SERVER,
        (void *)&serverStatus, (ub4 *)0, OCI_ATTR_SERVER_STATUS, errhp);
if (serverStatus == OCI_SERVER_NORMAL)
        printf("Connection is up.\n");
else if (serverStatus == OCI_SERVER_NOT_CONNECTED)
        printf("Connection is down.\n");

OCI_ATTR_TAF_ENABLED

モード

読取り

説明

サーバー・ハンドルがTAF対応の場合TRUEに、非対応の場合はFALSEに設定します。

属性データ型

boolean *

OCI_ATTR_USER_MEMORY

モード

読取り

説明

ハンドルに追加メモリーが割り当てられている場合、ユーザー・メモリーへのポインタが戻されます。追加メモリーが割り当てられていないハンドルに関しては、NULLポインタが戻されます。

属性データ型

void *

認証情報ハンドル

これらの属性は、ユーザー・セッション・ハンドルにも適用されます。

ユーザー・セッション・ハンドル属性

これらの属性は、認証情報ハンドルにも適用されます。

OCI_ATTR_ACTION

モード

書込み

説明

現行のモジュール内の現行アクション名です。NULLに設定できます。現行のアクションの終了後、次のアクション名、または次のアクションが存在しない場合はNULLをこの属性に設定します。32バイト以下で指定できます。

属性データ型

oratext *

OCIAttrSet(session, OCI_HTYPE_SESSION,(void *)"insert into employees",
           (ub4)strlen("insert into employees"), OCI_ATTR_ACTION, error_handle);

OCI_ATTR_APPCTX_ATTR


注意:


この属性は、データベース常駐接続プーリングではサポートされません。

モード

書込み

説明

外部で初期化されたコンテキストの属性名を指定します。

属性データ型

oratext *

OCI_ATTR_APPCTX_LIST


注意:


この属性は、データベース常駐接続プーリングではサポートされません。

モード

読取り

説明

セッションに対するアプリケーション・コンテキスト・リスト記述子を取得します。

属性データ型

OCIParam* *

OCI_ATTR_APPCTX_NAME


注意:


この属性は、データベース常駐接続プーリングではサポートされません。

モード

書込み

説明

外部で初期化されたコンテキストのネームスペースを指定します。

属性データ型

oratext *

OCI_ATTR_APPCTX_SIZE


注意:


この属性は、データベース常駐接続プーリングではサポートされません。

モード

書込み

説明

外部で初期化されたコンテキストの配列サイズを、属性数を使用して初期化します。

属性データ型

ub4

OCI_ATTR_APPCTX_VALUE


注意:


この属性は、データベース常駐接続プーリングではサポートされません。

モード

書込み

説明

外部で初期化されたコンテキストの値を指定します。

属性データ型

oratext *

OCI_ATTR_AUDIT_BANNER

モード

読取り

説明

ファイルからのユーザー・アクション監査バナーを表示します。

属性データ型

oratext **

OCI_ATTR_CALL_TIME

モード

読取り

説明

前述のコールのサーバー側の時間をマイクロ秒単位で戻します。

属性データ型

ub8 *

OCI_ATTR_CERTIFICATE

モード

書込み

説明

プロキシ認証で使用するクライアントの証明書を指定します。OCI_ATTR_CERTIFICATEを使用した証明書ベースのプロキシ認証は、Oracle Databaseの今後のリリースではサポートされません。かわりに、OCI_ATTR_DISTINGUISHED_NAME属性またはOCI_ATTR_USERNAME属性を使用してください。

属性データ型

ub1 *

OCI_ATTR_CLIENT_IDENTIFIER

モード

書込み

説明

セッション・ハンドルにユーザー識別子を指定します。64バイト以下で指定できます。ユーザー名を含められますが、セキュリティ上の理由から、パスワードは含めません。識別子の最初の文字に':'は使用できません。この文字を使用すると、予期しない動作が発生する場合があります。

属性データ型

oratext *

OCIAttrSet(session, OCI_HTYPE_SESSION,(void *)"janedoe",
            (ub4)strlen("janedoe"), OCI_ATTR_CLIENT_IDENTIFIER,
            error_handle);

OCI_ATTR_CLIENT_INFO

モード

書込み

説明

クライアント・アプリケーションの追加情報です。DBMS_APPLICATION_INFOパッケージによっても設定できます。V$SESSIONビューに格納されています。64バイト以下で指定できます。

属性データ型

oratext *

OCI_ATTR_COLLECT_CALL_TIME

モード

読取り/書込み

説明

TRUEに設定すると、サーバーは、後続の各OCIコールのコール時間をミリ秒単位で測定します。

属性データ型

boolean */boolean

OCI_ATTR_CONNECTION_CLASS

モード

読取り/書込み

説明

OCIAuthInfoハンドルのこの属性では、データベース常駐接続プール用の接続クラス名(128文字以内の文字列)を明示的に指定します。

属性データ型

oratext **/oratext *

OCI_ATTR_CURRENT_SCHEMA

モード

読取り/書込み

説明

スキーマ名とセッションが存在する場合、この属性を使用してOCIAttrSet()をコールすることで、SQLコマンドALTER SESSION SET CURRENT_SCHEMAと同じ結果が得られます。スキーマはサーバーへのラウンドトリップを行う次のOCIコールで変更され、余分なラウンドトリップが回避されます。新しいスキーマ名が存在しない場合、ALTER SESSION SET CURRENT_SCHEMAから戻されるエラーと同じエラーが戻されます。その後入力するDMLまたはDDLコマンド内で、データベース・オブジェクトの前にこの新しいスキーマ名が入ります。

この属性を使用しているクライアントが10gリリース2よりも前のソフトウェア・リリースのサーバーと通信を行うと、OCIAttrSet()コールは無視されます。この属性はOCIAttrGet()でも読み取ることができます。

属性データ型

ub4/ub4

text schema[] = "hr";
err = OCIAttrSet( (void ) mysessp, OCI_HTYPE_SESSION, (void *)schema,
      (ub4)strlen( (char *)schema), OCI_ATTR_CURRENT_SCHEMA, (OCIError *)myerrhp);

OCI_ATTR_DEFAULT_LOBPREFETCH_SIZE

モード

読取り/書込み

説明

セッション中にフェッチされる全LOBロケータをユーザーがプリフェッチできるようにします。各LOBロケータのデフォルトのプリフェッチ・バッファ・サイズを指定します。

属性データ型

ub4 */ub4

OCI_ATTR_DISTINGUISHED_NAME

モード

書込み

説明

プロキシ認証で使用するクライアントの識別名を指定します。

属性データ型

oratext *

OCI_ATTR_DRIVER_NAME

モード

読取り/書込み

説明

OCIを使用するドライバ・レイヤーの名称を指定します。(JDBC、ODBC、PHP、SQL*Plusなど。ORA$で始まる名称も予約済です。)今後のアプリケーションでは、固有の名称を選択し、障害診断に役立つように設定できます。この属性は、OCISessionBegin()を実行する前に設定してください。NULL終端文字を含めて最大9個のシングルバイト文字による配列を渡します。このデータは検証されず、サーバーに直接渡されてV$SESSION_CONNECT_INFOまたはGV$SESSION_CONNECT_INFOに表示されます。OCIにより確認されるのは、ドライバ名の配列が30文字以内であることのみです。9文字以上が渡されると、最初の8文字のみが表示されます。

属性データ型

oratext **/oratext *

...
oratext client_driver[9];
...
checkerr(errhp, OCIAttrSet(authp, OCI_HTYPE_SESSION,
                client_driver, (ub4)(strlen(client_driver)),
                OCI_ATTR_DRIVER_NAME, errhp));

checkerr(errhp, OCISessionBegin(svchp, errhp, authp, OCI_CRED_RDBMS, OCI_DEFAULT);
...

OCI_ATTR_INITIAL_CLIENT_ROLES

モード

書込み

説明

アプリケーション・サーバーがクライアントにかわってOracleに接続する場合にクライアントが初めに所有する1つまたは複数のロールを指定します。

属性データ型

oratext **

OCI_ATTR_MIGSESSION

モード

読取り/書込み

説明

セッション・ハンドル用に識別されたセッションを指定します。同じプロセス内または複数プロセス間で、セッションをある環境から別の環境へ複製することができます。これは、同じシステム上のプロセスでも異なるシステム上のプロセスでも可能です。複製するセッションは、移行可能と認証されている必要があります。

属性データ型

ub1 *

次のコード例で、この属性の使用方法を示します。

OCIAttrSet ((void *) authp, (ub4)OCI_HTYPE_SESSION, (void *) mig_session,
            (ub4) sz, (ub4)OCI_ATTR_MIGSESSION, errhp);

OCI_ATTR_MODULE

モード

書込み

説明

クライアント・アプリケーションで実行中の現行モジュール名です。現行のモジュールの終了後、新しいモジュール名、または新しいモジュールが存在しない場合はNULLでコールします。48バイト以下で指定できます。

属性データ型

oratext *

OCIAttrSet(session, OCI_HTYPE_SESSION,(void *)"add_employee",
           (ub4)strlen("add_employee"), OCI_ATTR_MODULE, error_handle);

OCI_ATTR_PASSWORD

モード

書込み

説明

認証に使用するパスワードを指定します。

属性データ型

oratext *

OCI_ATTR_PROXY_CLIENT

モード

書込み

説明

プロキシ経由でアクセスするターゲット・ユーザー名を指定します。

属性データ型

oratext *

OCI_ATTR_PROXY_CREDENTIALS

モード

書込み

説明

アプリケーション・サーバーの資格証明をプロキシ認証で使用するように指定します。

属性データ型

OCISession

OCI_ATTR_PURITY

モード

読取り/書込み

説明

データベース常駐接続プーリング用のOCIAuthInfoハンドルの属性です。値は、OCI_ATTR_PURITY_NEW(アプリケーションでは前のセッション状態で保持されていないセッションが必要)またはOCI_ATTR_PURITY_SELF(セッションが前に使用済でも可)です。OCISessionGet()のコール時にアプリケーションで純正値が指定されていない場合、純正値OCI_ATTR_PURITY_DEFAULTが使用されます。この値は、後でアプリケーションのタイプに応じてOCI_ATTR_PURITY_NEWまたはOCI_ATTR_PURITY_SELFに変換されます。

属性データ型

ub4 */ub4

OCI_ATTR_USERNAME

モード

読取り/書込み

説明

認証に使用するユーザー名を指定します。

属性データ型

oratext **/oratext *

管理ハンドル属性

OCI_ATTR_ADMIN_PFILE

モード

読取り/書込み

説明

OCIDBStartup()をコールする前にこの属性を設定し、データベースの起動に使用するクライアント側のパラメータ・ファイルの場所を指定します。この属性が設定されていない場合、サーバー側のパラメータ・ファイルが使用されます。サーバー側のパラメータ・ファイルが存在しない場合、エラーが戻されます。

属性データ型

oratext */oratext *

接続プール・ハンドル属性

OCI_ATTR_CONN_TIMEOUT


注意:


プールの縮小は、ネットワーク・ラウンドトリップがある場合にのみ発生します。操作がない場合、接続は継続されます。

モード

読取り/書込み

説明

この時間値(秒数)を超えてアイドル状態の接続は終了し、オープン接続が最適な数に維持されます。この属性は動的に設定できます。この属性を設定していない場合、接続がタイムアウトになることはありません。

属性データ型

ub4 */ub4

OCI_ATTR_CONN_NOWAIT

モード

読取り/書込み

説明

この属性は、プール内のすべての接続がビジーで、接続数がすでに最大数に達しているとき、接続の再試行を行う必要があるかどうかを判断します。

この属性が設定されている場合は、すべての接続がビジーで、それ以上接続をオープンできないときにエラーが発生します。設定されていない場合、コールは接続が確立するまで待機します。

この属性が設定されている場合、読取り時には、属性値がTRUEで戻されます。

属性データ型

ub1 */ub1

OCI_ATTR_CONN_BUSY_COUNT

モード

読取り

説明

ビジーの接続の数を戻します。

属性データ型

ub4 *

OCI_ATTR_CONN_OPEN_COUNT

モード

読取り

説明

オープンしている接続の数を戻します。

属性データ型

ub4 *

OCI_ATTR_CONN_MIN

モード

読取り

説明

最小接続数を戻します。

属性データ型

ub4 *

OCI_ATTR_CONN_MAX

モード

読取り

説明

最大接続数を戻します。

属性データ型

ub4 *

OCI_ATTR_CONN_INCR

モード

読取り

説明

接続の増分パラメータを戻します。

属性データ型

ub4 *

セッション・プール・ハンドル属性

セッション・プーリングで使用する属性は、次のとおりです。

OCI_ATTR_SPOOL_BUSY_COUNT

モード

読取り

説明

ビジーのセッションの数を戻します。

属性データ型

ub4 *

OCI_ATTR_SPOOL_GETMODE

モード

読取り/書込み

説明

この属性は、プール内のすベてのセッションがビジーで、いくつかのセッションがすでに最大に達していることが判明したときに、セッション・プールの動作を判断します。値は次のとおりです。

属性データ型

ub1 */ub1

OCI_ATTR_SPOOL_INCR

モード

読取り

説明

セッションの増分パラメータを戻します。

属性データ型

ub4 *

OCI_ATTR_SPOOL_MAX

モード

読取り

説明

最大セッション数を戻します。

属性データ型

ub4 *

OCI_ATTR_SPOOL_MIN

モード

読取り

説明

最小セッション数を戻します。

属性データ型

ub4 *

OCI_ATTR_SPOOL_OPEN_COUNT

モード

読取り

説明

オープンしているセッションの数を戻します。

属性データ型

ub4 *

OCI_ATTR_SPOOL_TIMEOUT

モード

読取り/書込み

説明

この時間(秒)を超えてアイドル状態のセッションは定期的に終了し、オープンしているセッション数が最適に維持されます。この属性は動的に設定できます。この属性が設定されておらず、プール内に領域が必要な場合は、最低使用頻度のセッションがタイムアウトとなります。OCIでは、プールに解放するときにのみ、タイムアウトしたセッションがチェックされます。

属性データ型

ub4 */ub4

OCI_ATTR_SPOOL_STMTCACHESIZE

モード

読取り/書込み

説明

セッション・プールの各セッションのデフォルトの文キャッシュ・サイズを、この値に設定します。プールの特定のセッションの文キャッシュ・サイズは、そのセッションでOCI_ATTR_STMTCACHESIZEを使用することでいつでも上書きできます。

属性データ型

ub4 */ ub4

トランザクション・ハンドル属性

OCI_ATTR_TRANS_NAME

モード

読取り/書込み

説明

この属性を使用して、トランザクションを識別するテキスト文字列の構築または読取りができます。これは、XIDを使用してトランザクションを識別するかわりに使用される方法です。oratext文字列は、64バイトまで指定できます。

属性データ型

oratext ** (READ) / oratext *(書込み)

OCI_ATTR_TRANS_TIMEOUT

モード

読取り/書込み

説明

準備時間に使用するタイムアウト時間値の設定または読取りができます。

属性データ型

ub4 *(読取り)/ub4(書込み)

OCI_ATTR_XID

モード

読取り/書込み

説明

トランザクションを識別するXIDの設定または読取りができます。

属性データ型

XID **(読取り)/XID *(書込み)

文ハンドル属性

OCI_ATTR_BIND_COUNT

モード

読取り

説明

文ハンドルのバインド位置の数を戻します。

属性データ型

ub4 *

OCIHandleAlloc(env,(void **) &pStatement, OCI_HTYPE_STMT, (size_t)0, (void **)0);
OCIStmtPrepare (pStatement, err, pszQuery, (ub4)strlen(pszQuery),
                (ub4)OCI_NTV_SYNTAX, (ub4)OCI_DEFAULT);
OCIAttrGet(pStatement, OCI_HTYPE_STMT, &iNbParameters, NULL, OCI_ATTR_BIND_COUNT,
           err);

OCI_ATTR_CHNF_REGHANDLE

モード

書込み

説明

この属性を該当するサブスクリプション・ハンドルに設定すると、問合せの実行時に連続問合せ通知用の問合せの登録も作成されます。

属性データ型

OCISubscription *

/* Associate the statement with the subscription handle */
OCIAttrSet (stmthp, OCI_HTYPE_STMT, subscrhp, 0,
            OCI_ATTR_CHNF_REGHANDLE, errhp);

OCI_ATTR_CQ_QUERYID

モード

読取り

説明

OCIStmtExecute()のコールによる登録後に、登録済問合せの問合せIDを取得します。

属性データ型

ub8 *

OCI_ATTR_CURRENT_POSITION

モード

読取り

説明

結果セット内の現行の位置を示します。この属性は読取りのみ可能です。設定はできません。

属性データ型

ub4 *

OCI_ATTR_ENV

モード

読取り

説明

結果セット内の現行の位置を示します。この属性は読取りのみ可能です。設定はできません。

属性データ型

ub4 *

OCI_ATTR_FETCH_ROWID

モード

読取り/書込み

説明

position 0での定義とSELECT...FOR UPDATE文の実行後に、ROWIDがフェッチされるように指定します。

属性データ型

boolean */boolean

OCI_ATTR_NUM_DML_ERRORS

モード

読取り

説明

DML操作でのエラーの数を戻します。

属性データ型

ub4 *

OCI_ATTR_PARAM_COUNT

モード

読取り

説明

この属性を使用して、文ハンドルに対応付けられた文の選択リストにある列数を取得できます。

属性データ型

ub4 *

...
int i = 0;
ub4 parmcnt = 0;
ub2 type = 0;
OCIParam *colhd = (OCIParam *) 0;   /* column handle */

/* Describe of a select-list */
OraText *sqlstmt = (OraText *)"SELECT * FROM employees WHERE employee_id = 100";

checkerr(errhp, OCIStmtPrepare(stmthp, errhp, (OraText *)sqlstmt,
                    (ub4)strlen((char *)sqlstmt),
                    (ub4) OCI_NTV_SYNTAX, (ub4) OCI_DEFAULT));

checkerr(errhp, OCIStmtExecute(svchp, stmthp, errhp, 1, 0,
        (OCISnapshot *)0, (OCISnapshot *)0, OCI_DESCRIBE_ONLY));

/* Get the number of columns in the select list */
checkerr(errhp, OCIAttrGet((void *)stmthp, OCI_HTYPE_STMT, (void *)&parmcnt,
                      (ub4 *)0, OCI_ATTR_PARAM_COUNT, errhp));

/* go through the column list and retrieve the datatype of each column. We
   start from pos = 1 */
for (i = 1; i <= parmcnt; i++)
{
  /* get parameter for column i */
  checkerr(errhp, OCIParamGet((void *)stmthp, OCI_HTYPE_STMT, errhp,
           (void **)&colhd, i));

  /* get data-type of column i */
  type = 0;
  checkerr(errhp, OCIAttrGet((void *)colhd, OCI_DTYPE_PARAM,
          (void *)&type, (ub4 *)0, OCI_ATTR_DATA_TYPE, errhp));

}
...

OCI_ATTR_PARSE_ERROR_OFFSET

モード

読取り

説明

文の解析エラー・オフセットを戻します。

属性データ型

ub2 *

OCI_ATTR_PREFETCH_MEMORY

モード

書込み

説明

プリフェッチされるトップレベル行のメモリー・レベルを設定します。このメモリー・レベルが、指定したメモリー使用量の制限以下である場合は、指定したトップレベル行カウントまでの行がフェッチされます。デフォルト値は0(ゼロ)です。これは、プリフェッチされた行数の計算にメモリー・サイズが含まれていないことを意味します。

属性データ型

ub4 *

OCI_ATTR_PREFETCH_ROWS

モード

書込み

説明

プリフェッチされるトップレベル行の数を設定します。デフォルト値は1行です。

属性データ型

ub4 *

OCI_ATTR_ROW_COUNT

モード

読取り

説明

SELECT文の後、これまでに処理した行の数を戻します。INSERT、UPDATEおよびDELETE文の場合、最後の文によって処理された行の数を戻します。デフォルト値は1です。

スクロール不可カーソルの場合、OCI_ATTR_ROW_COUNTは、この文ハンドルの実行後に発行されたOCIStmtFetch2()コールでユーザー・バッファにフェッチされた行の合計数です。スクロール不可カーソルは前方への順次アクセスのみであるため、この属性は、アプリケーションで参照する最後の行番号を表します。

スクロール・カーソルの場合、OCI_ATTR_ROW_COUNTは、ユーザー・バッファにフェッチされた行の最大(絶対)数を表します。アプリケーションでは、任意の位置でフェッチを行うことができるため、この属性は、(スクロール可能な)文の実行後にユーザーのバッファにフェッチされた行の合計数である必要はありません。

属性データ型

ub4 *

OCI_ATTR_ROWID

モード

読取り

説明

OCIDescriptorAlloc()によって割り当てられるROWID記述子を戻します。

属性データ型

OCIRowid *

OCI_ATTR_ROWS_FETCHED

モード

読取り

説明

前回のフェッチまたは1回以上の反復処理でユーザーのバッファに正常にフェッチされた行の数を示します。スクロール可能およびスクロール不可の文ハンドルの両方で使用できます。

属性データ型

ub4 *

ub4 rows;
ub4 sizep = sizeof(ub4);
OCIAttrGet((void *) stmhp, (ub4) OCI_HTYPE_STMT,
           (void *)& rows, (ub4 *) &sizep, (ub4)OCI_ATTR_ROWS_FETCHED,
           errhp);

OCI_ATTR_SQLFNCODE

モード

読取り

説明

文に対応付けられたSQLコマンドの関数コードを戻します。

属性データ型

ub2 *

注意

関連項目:


SQLコマンド・コードのリストを表A-1に示します。

表A-1 SQLコマンド・コード

コード SQL関数 コード SQL関数 コード SQL関数

01

CREATE TABLE

43

DROP EXTERNAL DATABASE

85

TRUNCATE TABLE

02

SET ROLE

44

CREATE DATABASE

86

TRUNCATE CLUSTER

03

INSERT

45

ALTER DATABASE

87

CREATE BITMAPFILE

04

SELECT

46

CREATE ROLLBACK SEGMENT

88

ALTER VIEW

05

UPDATE

47

ALTER ROLLBACK SEGMENT

89

DROP BITMAPFILE

06

DROP ROLE

48

DROP ROLLBACK SEGMENT

90

SET CONSTRAINTS

07

DROP VIEW

49

CREATE TABLESPACE

91

CREATE FUNCTION

08

DROP TABLE

50

ALTER TABLESPACE

92

ALTER FUNCTION

09

DELETE

51

DROP TABLESPACE

93

DROP FUNCTION

10

CREATE VIEW

52

ALTER SESSION

94

CREATE PACKAGE

11

DROP USER

53

ALTER USER

95

ALTER PACKAGE

12

CREATE ROLE

54

COMMIT (WORK)

96

DROP PACKAGE

13

CREATE SEQUENCE

55

ROLLBACK

97

CREATE PACKAGE BODY

14

ALTER SEQUENCE

56

SAVEPOINT

98

ALTER PACKAGE BODY

15

(使用されていません)

57

CREATE CONTROL FILE

99

DROP PACKAGE BODY

16

DROP SEQUENCE

58

ALTER TRACING

157

CREATE DIRECTORY

17

CREATE SCHEMA

59

CREATE TRIGGER

158

DROP DIRECTORY

18

CREATE CLUSTER

60

ALTER TRIGGER

159

CREATE LIBRARY

19

CREATE USER

61

DROP TRIGGER

160

CREATE JAVA

20

CREATE INDEX

62

ANALYZE TABLE

161

ALTER JAVA

21

DROP INDEX

63

ANALYZE INDEX

162

DROP JAVA

22

DROP CLUSTER

64

ANALYZE CLUSTER

163

CREATE OPERATOR

23

VALIDATE INDEX

65

CREATE PROFILE

164

CREATE INDEXTYPE

24

CREATE PROCEDURE

66

DROP PROFILE

165

DROP INDEXTYPE

25

ALTER PROCEDURE

67

ALTER PROFILE

166

ALTER INDEXTYPE

26

ALTER TABLE

68

DROP PROCEDURE

167

DROP OPERATOR

27

EXPLAIN

69

(使用されていません)

168

ASSOCIATE STATISTICS

28

GRANT

70

ALTER RESOURCE COST

169

DISASSOCIATE STATISTICS

29

REVOKE

71

CREATE SNAPSHOT LOG

170

CALL METHOD

30

CREATE SYNONYM

72

ALTER SNAPSHOT LOG

171

CREATE SUMMARY

31

DROP SYNONYM

73

DROP SNAPSHOT LOG

172

ALTER SUMMARY

32

ALTER SYSTEM SWITCH LOG

74

CREATE SNAPSHOT

173

DROP SUMMARY

33

SET TRANSACTION

75

ALTER SNAPSHOT

174

CREATE DIMENSION

34

PL/SQL EXECUTE

76

DROP SNAPSHOT

175

ALTER DIMENSION

35

LOCK

77

CREATE TYPE

176

DROP DIMENSION

36

NOOP

78

DROP TYPE

177

CREATE CONTEXT

37

RENAME

79

ALTER ROLE

178

DROP CONTEXT

38

COMMENT

80

ALTER TYPE

179

ALTER OUTLINE

39

AUDIT

81

CREATE TYPE BODY

180

CREATE OUTLINE

40

NO AUDIT

82

ALTER TYPE BODY

181

DROP OUTLINE

41

ALTER INDEX

83

DROP TYPE BODY

182

UPDATE INDEXES

42

CREATE EXTERNAL DATABASE

84

DROP LIBRARY

183

ALTER OPERATOR


OCI_ATTR_STATEMENT

モード

読取り

説明

プリコンパイルされたSQL文のテキストを文ハンドルに戻します。UTF-16モードでは、戻された文はUTF-16エンコーディングになります。長さは、常にバイト単位です。

属性データ型

oratext *

OCI_ATTR_STMT_STATE

モード

読取り

説明

文のフェッチ状態を戻します。コール元はこの属性を使用して、このセッションが別のサービス・コンテキストで使用できるかどうか、現行のデータ・アクセス・コール・セットでまだ必要かどうかを判断できます。基本的に、フェッチ実行サイクルの途中では、別の文を実行するためにセッション・ハンドルを解放することはありません。次の値が有効です。

属性データ型

ub4 *

OCI_ATTR_STMT_TYPE

モード

読取り

説明

ハンドルに対応付けられた文のタイプです。次の値が有効です。

属性データ型

ub2 *

バインド・ハンドル属性

OCI_ATTR_CHAR_COUNT

モード

書込み

説明
属性データ型

ub4 *

OCI_ATTR_CHARSET_FORM

モード

読取り/書込み

説明

バインド・ハンドルのキャラクタ・セット・フォームです。デフォルトのフォームはSQLCS_IMPLICITです。この属性を設定すると、バインド・ハンドルでクライアント側のデータベースまたは各国語キャラクタ・セットを使用できます。この属性は、各国語キャラクタ・セットの場合はSQLCS_NCHARに設定し、データベース・キャラクタ・セットの場合はSQLCS_IMPLICITに設定します。

属性データ型

ub1 *

OCI_ATTR_CHARSET_ID

モード

読取り/書込み

説明

バインド・ハンドルのキャラクタ・セットIDです。入力データのキャラクタ・セットがUTF-16(下位互換性のために保持されている、非推奨になったOCI_UC2SIDの置換え)の場合、ユーザーはキャラクタ・セットIDをOCI_UTF16IDに設定する必要があります。バインド値バッファはutextバッファであるとみなされ、入力長ポインタおよび戻り値の長さセマンティクスは、キャラクタ・セマンティクス(utextの数)に変更されます。ただし、先行するOCIBindコールでは、バインド値バッファのサイズをバイト単位で指定する必要があります。

OCI_ATTR_CHARSET_IDは、OCI_ATTR_CHARSET_FORM(設定する場合)の後に設定する必要があります。OCI_ATTR_CHARSET_FORMを設定する前にOCI_ATTR_CHARSET_IDを設定すると、予想しない結果になります。

属性データ型

ub2 *

OCI_ATTR_MAXCHAR_SIZE

モード

書込み

説明

バインドするデータを格納するためにアプリケーションがサーバー上に予約する文字数を設定します。

属性データ型

sb4 *

OCI_ATTR_MAXDATA_SIZE

モード

読取り/書込み

説明
属性データ型

sb4 *

OCI_ATTR_PDPRC

モード

書込み

説明

パック10進数の精度を指定します。SQLT_PDN値の場合、精度は2*(value_sz-1)に等しくしてください。SQLT_SLS値の場合、精度は(value_sz-1)に等しくしてください。

バインドまたは定義後に、この値は0(ゼロ)に初期化されます。最初にOCI_ATTR_PDPRC属性を設定して、次にOCI_ATTR_PDSCLを設定します。これらの値のどちらかを変更する必要がある場合は、最初に再バインドまたは再定義を行って、次にこれらの属性を適切に再設定する必要があります。

属性データ型

ub2 *

OCI_ATTR_PDSCL

モード

書込み

説明

パック10進値のスケールを指定します。

バインドまたは定義後に、この値は0(ゼロ)に初期化されます。最初にOCI_ATTR_PDPRC属性を設定して、次にOCI_ATTR_PDSCLを設定します。これらの値のどちらかを変更する必要がある場合は、最初に再バインドまたは再定義を行って、次にこれらの属性を適切に再設定する必要があります。

属性データ型

sb2 *

OCI_ATTR_ROWS_RETURNED

モード

読取り

説明

この属性は、RETURNING句でDML文をバインドするOUTのコールバック関数を実行しているとき、現行の反復で戻される行数を戻します。

属性データ型

ub4 *

定義ハンドル属性

OCI_ATTR_CHAR_COUNT

モード

書込み

説明

この属性は非推奨です。

キャラクタ・タイプ・データの文字数を設定します。この属性は、定義バッファに必要な文字数を指定します。定義コールで指定した定義バッファ長は、文字数より大きくする必要があります。

属性データ型

ub4 *

OCI_ATTR_CHARSET_FORM

モード

読取り/書込み

説明

定義ハンドルのキャラクタ・セット・フォームです。デフォルトのフォームはSQLCS_IMPLICITです。この属性を設定すると、定義ハンドルでクライアント側のデータベースまたは各国語キャラクタ・セットを使用できます。この属性は、各国語キャラクタ・セットの場合はSQLCS_NCHARに設定し、データベース・キャラクタ・セットの場合はSQLCS_IMPLICITに設定します。

属性データ型

ub1 *

OCI_ATTR_CHARSET_ID

モード

読取り/書込み

説明

定義ハンドルのキャラクタ・セットIDです。出力データのキャラクタ・セットがUTF-16である場合、ユーザーはキャラクタ・セットIDOTTをOCI_UTF16IDに設定する必要があります。定義値バッファはutextバッファであるとみなされ、インジケータおよび戻り値の長さセマンティクスは、キャラクタ・セマンティクス(utextの数)に変更されます。ただし、先行するOCIDefineコールでは、定義値バッファのサイズをバイト単位で指定する必要があります。

OCI_ATTR_CHARSET_IDは、OCI_ATTR_CHARSET_FORM(設定する場合)の後に設定する必要があります。OCI_ATTR_CHARSET_FORMを設定する前にOCI_ATTR_CHARSET_IDを設定すると、予想しない結果になります。

属性データ型

ub2 *

OCI_ATTR_LOBPREFETCH_LENGTH

モード

読取り/書込み

説明

特定の列からフェッチするLOBのプリフェッチ長とチャンク・サイズを指定します。

属性データ型

boolean */boolean

OCI_ATTR_LOBPREFETCH_SIZE

モード

読取り/書込み

説明

特定の列からフェッチするLOBロケータのデフォルト・キャッシュ・バッファ・サイズを上書きします。

属性データ型

ub4 */ub4

OCI_ATTR_MAXCHAR_SIZE

モード

書込み

説明

クライアント・アプリケーションが定義バッファに格納できる最大文字数を指定します。

属性データ型

sb4 *

OCI_ATTR_PDPRC

モード

書込み

説明

パック10進数の精度を指定します。SQLT_PDN値の場合、精度は2*(value_sz-1)に等しくしてください。SQLT_SLS値の場合、精度は(value_sz-1)に等しくしてください。

バインドまたは定義後に、この値は0(ゼロ)に初期化されます。最初にOCI_ATTR_PDPRC属性を設定して、次にOCI_ATTR_PDSCLを設定します。これらの値のどちらかを変更する必要がある場合は、最初に再バインドまたは再定義を行って、次にこれらの属性を適切に再設定する必要があります。

属性データ型

ub2 *

OCI_ATTR_PDSCL

モード

書込み

説明

パック10進値のスケールを指定します。

バインドまたは定義後に、この値は0(ゼロ)に初期化されます。最初にOCI_ATTR_PDPRC属性を設定して、次にOCI_ATTR_PDSCLを設定します。これらの値のどちらかを変更する必要がある場合は、最初に再バインドまたは再定義を行って、次にこれらの属性を適切に再設定する必要があります。

属性データ型

sb2 *

記述ハンドル属性

OCI_ATTR_PARAM

モード

読取り

説明

記述のルートを指し示します。後続のOCIAttrGet()およびOCIParamGet()コールのために使用します。

属性データ型

ub4 *

OCI_ATTR_PARAM_COUNT

モード

読取り

説明

記述ハンドル内のパラメータ数を戻します。記述ハンドルが選択リストの記述である場合は、選択リスト内の列数を示します。

属性データ型

ub4 *

パラメータ記述子属性


関連項目:


パラメータ記述子の属性の詳細なリストは、第6章「スキーマ・メタデータの記述」を参照してください。

LOBロケータ属性

OCI_ATTR_LOBEMPTY

モード

書込み

説明

内部LOBロケータをEmpty値に設定します。これによって、そのロケータはINSERT文またはUPDATE文のバインド変数として使用でき、LOBをEmpty値に初期化できます。LOBがEmpty値になると、OCILobWrite()をコールしてデータをLOBに移入できます。この属性は内部LOB(BLOBCLOBNCLOB)に対してのみ有効です。

アプリケーションから、宣言などの0(ゼロ)の値を持つub4のアドレスを渡します。

ub4 lobEmpty = 0

と宣言した後にアドレス&lobEmptyを渡します。

属性データ型

ub4 *

複合オブジェクト属性

複合オブジェクト検索ハンドル属性

OCI_ATTR_COMPLEXOBJECT_LEVEL

モード

書込み

説明

複合オブジェクト検索のネスト・レベルです。

属性データ型

ub4 *

OCI_ATTR_COMPLEXOBJECT_COLL_OUTOFLINE

モード

書込み

説明

オブジェクト型アウト・ラインにあるコレクション属性をフェッチするかどうかを示します。

属性データ型

ub1 *

複合オブジェクト検索記述子の属性

OCI_ATTR_COMPLEXOBJECTCOMP_TYPE

モード

書込み

説明

複合オブジェクト検索に続くREFのタイプです。

属性データ型

void *

OCI_ATTR_COMPLEXOBJECTCOMP_TYPE_LEVEL

モード

書込み

説明

後に続くOCI_ATTR_COMPLEXOBJECTCOMP_TYPE型のREFのネスト・レベルです。

属性データ型

ub4 *

Streamsアドバンスト・キューイング記述子の属性


関連項目:


『Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイドおよびリファレンス』

OCIAQEnqOptions記述子の属性

次に示す属性は、OCIAQEnqOptions記述子のプロパティです。

OCI_ATTR_MSG_DELIVERY_MODE

モード

書込み

説明

エンキュー・コールがキュー内に永続メッセージまたはバッファ・メッセージをエンキューできるようにするには、OCIAQEnqOptions記述子のOCI_ATTR_MSG_DELIVERY_MODE属性をそれぞれOCI_MSG_PERSISTENTまたはOCI_MSG_BUFFEREDに設定します。この属性のデフォルト値はOCI_MSG_PERSISTENTです。

属性データ型

ub2

OCI_ATTR_RELATIVE_MSGID

モード

読取り/書込み

説明

この機能は非推奨です。今後のリリースでは削除される可能性があります。

順序逸脱操作で参照されるメッセージのメッセージ識別子を指定します。この値は、OCI_ATTR_SEQUENCE_DIVISIONOCI_ENQ_BEFOREが指定されている場合にのみ有効です。順序逸脱が未指定の場合には、この値は無視されます。

属性データ型

OCIRaw *

OCI_ATTR_SEQUENCE_DEVIATION

モード

読取り/書込み

説明

この機能は新しいアプリケーションでは非推奨ですが、互換性のため保持されています。

現在エンキューされているメッセージを、すでにキューにあるその他のメッセージより先にデキューするかどうかを指定します。

属性データ型

ub4

有効な値

次に示す値のみ有効です。

  • OCI_ENQ_BEFORE− メッセージは、OCI_ATTR_RELATIVE_MSGIDで指定したメッセージより先にエンキューされます。

  • OCI_ENQ_TOP− メッセージは、その他のあらゆるメッセージより先にエンキューされます。

OCI_ATTR_VISIBILITY

モード

読取り/書込み

説明

エンキュー要求のトランザクション動作を指定します。

属性データ型

ub4

有効な値

次に示す値のみ有効です。

  • OCI_ENQ_ON_COMMIT− エンキューはカレント・トランザクションの一部です。操作は、トランザクションがコミットするときに完了します。これは、デフォルトです。

  • OCI_ENQ_IMMEDIATE− エンキューはカレント・トランザクションの一部ではありません。固有のトランザクションで操作が行われます。

OCIAQDeqOptions記述子の属性

次に示す属性は、OCIAQDeqOptions記述子のプロパティです。

OCI_ATTR_CONSUMER_NAME

モード

読取り/書込み

説明

コンシューマ名です。コンシューマ名に一致するメッセージのみがアクセスされます。キューが複数のコンシューマに対して設定されていない場合、このフィールドはNULLに設定します。

属性データ型

oratext *

OCI_ATTR_CORRELATION

モード

読取り/書込み

説明

デキューするメッセージの相関識別子を指定します。パーセント符号(%)やアンダースコア(_)などの特殊なパターン・マッチング文字を使用できます。2つ以上のメッセージがパターンに一致する場合、デキューの順序は確定されません。

属性データ型

oratext *

OCI_ATTR_DEQ_MODE

モード

読取り/書込み

説明

デキューに対応付けられたロック動作を指定します。

属性データ型

ub4

有効な値

次に示す値のみ有効です。

  • OCI_DEQ_BROWSE− ロックを取得することなくメッセージを読み取ります。これは、SELECT文と同じです。

  • OCI_DEQ_LOCKED− メッセージを読み取り、書込みロックを取得します。ロックは、トランザクションの継続時間中は有効です。これは、SELECT FOR UPDATE文と同じです。

  • OCI_DEQ_REMOVE− メッセージを読み取り、それを更新または削除します。これは、デフォルトです。メッセージは、保存プロパティに基づいてキュー・テーブルに保存されます。

  • OCI_DEQ_REMOVE_NODATA− メッセージの受取りを確認しますが、実際のメッセージ内容は送付しません。

OCI_ATTR_DEQ_MSGID

モード

読取り/書込み

説明

デキューするメッセージのメッセージ識別子を指定します。

属性データ型

OCIRaw *

OCI_ATTR_MSG_DELIVERY_MODE

モード

書込み

説明

キューから永続メッセージ、バッファ・メッセージまたはこの両方のメッセージをデキューするためのデキュー・コールを指定するには、OCIAQDeqOptions記述子のOCI_ATTR_MSG_DELIVERY_MODE属性を、それぞれOCI_MSG_PERSISTENTOCI_MSG_BUFFEREDまたはOCI_MSG_PERSISTENT_OR_BUFFEREDに設定します。この属性のデフォルト値はOCI_MSG_PERSISTENTです。

属性データ型

ub2

OCI_ATTR_NAVIGATION

モード

読取り/書込み

説明

取り出すメッセージの位置を指定します。最初に位置が判断されます。次に検索基準が適用されます。最後にメッセージが取り出されます。

属性データ型

ub4

有効な値

次に示す値のみ有効です。

  • OCI_DEQ_FIRST_MSG− 使用可能なメッセージの中から、検索基準に一致する最初のメッセージを取り出します。これにより、位置はキューの先頭にリセットされます。

  • OCI_DEQ_NEXT_MSG− 使用可能なメッセージの中から、検索基準に一致する次のメッセージを取り出します。前のメッセージがメッセージ・グループに属していた場合は、検索基準に一致し、なおかつメッセージ・グループに属するメッセージがAQにより取り出されます。これは、デフォルトです。

  • OCI_DEQ_NEXT_TRANSACTION− 残りのカレント・トランザクション・グループをスキップし、次のトランザクション・グループから最初のメッセージを取り出します。このオプションは、現行のキューに対してメッセージをグループ化できる場合のみ使用できます。

  • OCI_DEQ_FIRST_MSG_MULTI_GROUPOCIAQDeqArray()のコールによって位置がキューの先頭にリセットされ、選択可能でかつ検索条件に一致するメッセージが(場合により複数のトランザクション・グループから)itersに達するまでデキューされます。トランザクション・グループを識別するために、新しいメッセージ・プロパティOCI_ATTR_TRANSACTION_NOが定義されます。同じトランザクション・グループに属するメッセージはすべて、このメッセージ・プロパティに対し同一の値を持ちます。

  • OCI_DEQ_NEXT_MSG_MULTI_GROUPOCIAQDeqArray()のコールによって、選択可能でかつ検索条件に一致する次のセットのメッセージが(場合により複数のトランザクション・グループから)itersに達するまでデキューされます。トランザクション・グループを識別するために、新しいメッセージ・プロパティOCI_ATTR_TRANSACTION_NOが定義されます。同じトランザクション・グループに属するメッセージはすべて、このメッセージ・プロパティに対し同一の値を持ちます。

OCI_ATTR_VISIBILITY

モード

読取り/書込み

説明

新しいメッセージをカレント・トランザクションの一部としてデキューするかどうかを指定します。BROWSEモードを使用しているときは、この可視性(visibility)パラメータは無視されます。

属性データ型

ub4

有効な値

次に示す値のみ有効です。

  • OCI_DEQ_ON_COMMIT− デキューはカレント・トランザクションの一部になります。これは、デフォルトです。

  • OCI_DEQ_IMMEDIATE− デキューされたメッセージはカレント・トランザクションの一部にはなりません。固有のトランザクションが構成されます。

OCI_ATTR_WAIT

モード

読取り/書込み

説明

検索基準に一致するメッセージがないときの待機時間を指定します。同じグループのメッセージがデキューされている場合、このパラメータは無視されます。

属性データ型

ub4

有効な値

ub4値はいずれも有効ですが、さらに次のような定数が事前定義されています。

  • OCI_DEQ_WAIT_FOREVER− いつまでも待機します。これは、デフォルトです。

  • OCI_DEQ_NO_WAIT− 待機しません。


注意:


OCI_DEQ_NO_WAITオプションを使用してキューのポーリングを行う場合、空のキューをポーリングするとメッセージはデキューされません。OCI_ATTR_NAVIGATIONのデフォルト設定OCI_DEQ_NEXT_MSGのかわりに、OCI_DEQ_FIRST_MSGオプションを使用します。また、デキューにはOCI_ATTR_WAITの0(ゼロ)以外の待機設定(1を推奨)も使用できます。

OCIAQMsgProperties記述子の属性

次に示す属性は、OCIAQMsgProperties記述子のプロパティです。

OCI_ATTR_ATTEMPTS

モード

読取り

説明

あるメッセージに対して今までに何回デキューが試みられたかを指定します。このパラメータを、エンキュー時刻に設定することはできません。

属性データ型

sb4

有効な値

sb4値はいずれも有効です。

OCI_ATTR_CORRELATION

モード

読取り/書込み

説明

エンキュー時にプロデューサがメッセージに付けたIDを指定します。

属性データ型

oratext *

有効な値

文字列は128バイトまで有効です。

OCI_ATTR_DELAY

モード

読取り/書込み

説明

エンキューしたメッセージを遅延させる秒数を指定します。遅延はメッセージがデキュー可能になった後の秒数を示します。msgidによりデキューすると、遅延指定は上書きされます。遅延を設定すると、エンキューされたメッセージはWAITING状態となり、遅延時間が終了するとともにREADY状態となります。DELAY処理にはキュー・モニターを起動させる必要があります。遅延は、メッセージをエンキューするプロデューサが設定することに注意してください。

属性データ型

sb4

有効な値

すべてのsb4値が有効ですが、さらに次のような定数が事前定義されています。

  • OCI_MSG_NO_DELAY− メッセージが即時にデキューできることを示します。

OCI_ATTR_ENQ_TIME

モード

読取り

説明

メッセージがエンキューされた時間を指定します。この値はシステムにより判断されるため、ユーザーは設定できません。

属性データ型

OCIDate

OCI_ATTR_EXCEPTION_QUEUE

モード

読取り/書込み

説明

正常に処理できないメッセージの移動先となるキューの名前を指定します。メッセージが移動されるのは、デキューがmax_retries以内の回数で成功しなかった場合とメッセージの有効期限が切れた場合です。例外キューのメッセージはすべてEXPIRED状態です。

デフォルトは、キュー・テーブルと対応付けられた例外キューです。移動時に指定の例外キューが存在しない場合、メッセージはキュー・テーブルと対応付けられたデフォルトの例外キューに移動し、警告がアラート・ファイルにログ記録されます。デフォルトの例外キューが使用されている場合は、デキュー時にNULL値が戻されます。

この属性は有効なキュー名を参照する必要があります。

属性データ型

oratext *

OCI_ATTR_EXPIRATION

モード

読取り/書込み

説明

メッセージの期限切れを指定します。この時間(秒)を経過したメッセージはデキューされません。このパラメータは、遅延からのオフセットです。期限切れ処理にはキュー・モニターを起動させる必要があります。

期限切れ前のメッセージはREADY状態です。期限切れ前にデキューされないメッセージは、EXPIRED状態となって例外デキューに移動します。

属性データ型

sb4

有効な値

すべてのsb4値が有効ですが、さらに次のような定数が事前定義されています。

  • OCI_MSG_NO_EXPIRATION− メッセージは期限切れになりません。

OCI_ATTR_MSG_DELIVERY_MODE

モード

読取り

説明

デキュー・コールの後、OCIクライアントはOCIAQMsgProperties記述子のOCI_ATTR_MSG_DELIVERY_MODE属性を読み取り、永続メッセージまたはバッファ・メッセージがデキューされたかどうかを判断できます。属性の値は、永続メッセージの場合はOCI_MSG_PERSISTENT、バッファ・メッセージの場合はOCI_MSG_BUFFEREDです。

属性データ型

ub2

OCI_ATTR_MSG_STATE

モード

読取り

説明

デキュー時のメッセージの状態を指定します。このパラメータを、エンキュー時刻に設定することはできません。

属性データ型

ub4

有効な値

戻される値は次の4つのみです。

  • OCI_MSG_WAITING− メッセージの遅延時間がまだ経過していません。

  • OCI_MSG_READY− メッセージは処理できる状態にあります。

  • OCI_MSG_PROCESSED− メッセージは処理され、保存されています。

  • OCI_MSG_EXPIRED − メッセージは例外キューに移動しました。

OCI_ATTR_PRIORITY

モード

読取り/書込み

説明

メッセージの優先度を指定します。数値が小さいほど高い優先度を示します。優先度は、負数も含めたあらゆる数値で指定できます。

デフォルト値は0(ゼロ)です。

属性データ型

sb4

OCI_ATTR_RECIPIENT_LIST

モード

書込み

説明

このパラメータは、複数のコンシューマが可能なキューに対してのみ有効です。デフォルトの受信者はキューのサブスクライバです。このパラメータはデキュー時にコンシューマに戻されません。

属性データ型

OCIAQAgent **

OCI_ATTR_SENDER_ID

モード

読取り/書込み

説明

メッセージの最初の送信者を識別します。

属性データ型

OCIAgent *

OCI_ATTR_TRANSACTION_NO

モード

読取り

説明

トランザクションごとにグループ化されたキューの場合、メッセージのトランザクション・グループを識別します。この属性は、OCIAQDeqArray()コールが成功した後に移入されます。1つのグループ内のすべてのメッセージがこの属性に同一の値を持ちます。この属性は、エンキューされたメッセージのトランザクション・グループを設定するためにOCIAQEnqArray()コールによって使用することはできません。

属性データ型

oratext *

OCI_ATTR_ORIGINAL_MSGID

モード

読取り/書込み

説明

そのメッセージを生成した最後のキューのメッセージのIDです。メッセージがあるキューから別のキューに伝播される際に、この属性はメッセージの最後の伝播元であるキューのIDを識別します。メッセージが複数のキューを経由して伝播されている場合、この属性は、このメッセージを生成した最初のキューではなく最後のキューのメッセージのIDを識別します。

属性データ型

OCIRaw *

OCIAQAgent記述子の属性

次に示す属性は、OCIAQAgent記述子のプロパティです。

OCI_ATTR_AGENT_ADDRESS

モード

読取り/書込み

説明

プロトコル特定の受信者アドレスです。プロトコルが0(デフォルト)の場合、アドレスのフォームは[schema.]queue[@dblink]です。

属性データ型

oratext *

有効な値

128バイト以下の任意の文字列を指定できます。

OCI_ATTR_AGENT_NAME

モード

読取り/書込み

説明

メッセージのプロデューサ名またはコンシューマ名です。

属性データ型

oratext *

有効な値

30バイト以下の任意のOracle識別子を指定できます。

OCI_ATTR_AGENT_PROTOCOL

モード

読取り/書込み

説明

アドレスを解釈しメッセージを伝播させるプロトコルです。デフォルト値(現在はこの値のみサポートされています)は0(ゼロ)です。

属性データ型

ub1

有効な値

有効な値は0(ゼロ)のみです。これはデフォルトでもあります。

OCIServerDNs記述子の属性

次に示す属性は、OCIServerDNs記述子のプロパティです。

OCI_ATTR_DN_COUNT

モード

読取り

説明

記述子に挿入されたデータベース・サーバーの数です。

属性データ型

ub2

OCI_ATTR_SERVER_DN

モード

読取り/書込み

説明

読取りモードの場合、この属性は、記述子にすでに挿入されているデータベース・サーバーの識別名のリストを戻します。

書込みモードの場合、この属性は、データベース・サーバーの識別名を取得します。

属性データ型

oratext **/oratext *

サブスクリプション・ハンドル属性

OCI_ATTR_SERVER_DNS

モード

読取り/書込み

説明

クライアントが登録用に使用するデータベース・サーバーの識別名です。

属性データ型

OCIServerDNs *

OCI_ATTR_SUBSCR_CALLBACK

モード

読取り/書込み

説明

サブスクリプション・コールバックです。属性OCI_ATTR_SUBSCR_RECPTPROTOOCI_SUBSCR_PROTO_OCIに設定されているか、または値が設定されていない場合、この属性は、サブスクリプション・ハンドルが登録コールOCISubscriptionRegister()に渡される前に設定する必要があります。

属性データ型

ub4 (void *, OCISubscription *, void *, ub4, void *, ub4)

OCI_ATTR_SUBSCR_CQ_QOSFLAGS

モード

書込み

説明

連続問合せ(CQ)通知に固有のQOS(サービス品質フラグ)を設定します。可能な値を渡すことができます。

属性データ型

ub4 *

OCI_ATTR_SUBSCR_CTX

モード

読取り/書込み

説明

システムによって呼び出された際に、クライアントからOCI_ATTR_SUBSCR_CALLBACKが示すユーザー・コールバックに渡されるコンテキストです。属性OCI_ATTR_SUBSCR_RECPTPROTOOCI_SUBSCR_PROTO_OCIに設定されているか、または値が設定されていない場合、この属性は、サブスクリプション・ハンドルが登録コールOCI Subscription Register()に渡される前に設定する必要があります。

属性データ型

void *

OCI_ATTR_SUBSCR_NAME

モード

読取り/書込み

説明

サブスクリプション名です。すべてのサブスクリプションは、サブスクリプション名によって識別されます。サブスクリプション名は、指定された長さの一連のバイト数から構成されます。サブスクリプション名のバイト長は、この名前がNULLで終了しないことを前提として指定する必要があります。名前にマルチバイト・キャラクタが含まれる可能性があるため、この前提は重要です。

クライアントでは、OCIAttrSet()コールを使用して、OCI_HTYPE_SUBSCRのハンドル・タイプとOCI_ATTR_SUBSCR_NAMEの属性タイプを指定することによりサブスクリプション・ハンドルのサブスクリプション名属性を設定できます。

すべてのサブスクリプション・コールバックには、OCI_ATTR_SUBSCR_NAME属性およびOCI_ATTR_SUBSCR_NAMESPACE属性が設定されたサブスクリプション・ハンドルが必要です。これらの属性が設定されていない場合は、エラーが戻されます。サブスクリプション・ハンドルに設定されるサブスクリプション名は、そのネームスペースと一貫性を持たせる必要があります。

属性データ型

oratext *

OCI_ATTR_SUBSCR_NAMESPACE

モード

読取り/書込み

説明

サブスクリプション・ハンドルが使用されるネームスペースです。この属性の有効な値は、OCI_SUBSCR_NAMESPACE_AQOCI_SUBSCR_NAMESPACE_DBCHANGEおよびOCI_SUBSCR_NAMESPACE_ANONYMOUSです。

サブスクリプション・ハンドルに設定されるサブスクリプション名は、そのネームスペースと一貫性を持たせる必要があります。

属性データ型

ub4 *


注意:


OCI_OBJECTモードは通知のグループ化を使用する際に必須です。

OCI_ATTR_SUBSCR_NTFN_GROUPING_CLASS

モード

読取り/書込み

説明

通知グループ化クラスです。 デフォルトの0(ゼロ)に設定した場合、他の通知グループ化属性はすべて0(ゼロ)である必要があります。 最新のリリースで時間について実装されており、現行の唯一のグループ化基準です。OCI_SUBSCR_NTFN_GROUPING_CLASS_TIMEに設定できます。

属性データ型

ub1 *

OCI_ATTR_SUBSCR_NTFN_GROUPING_REPEAT_COUNT

モード

読取り/書込み

説明

グループ化を実行する回数です。通知の繰返し回数です。正の整数で指定します。グループ化通知を永続的に送信するには、OCI_NTFN_GROUPING_FOREVERに設定します。

属性データ型

sb4 *

OCI_ATTR_SUBSCR_NTFN_GROUPING_START_TIME

モード

読取り/書込み

説明

グループ化の開始時間です。有効なTIMESTAMP WITH TIME ZONEに設定します。デフォルトは現行のTIMESTAMP WITH TIME ZONEです。

属性データ型

OCIDateTime */OCIDateTime **

OCI_ATTR_SUBSCR_NTFN_GROUPING_TYPE

モード

読取り/書込み

説明

グループ化通知の書式です。グループ内の全イベントの要約またはグループ内の最後のイベントのみにするかを示します。OCIAttrSet()を使用して、OCI_SUBSCR_NTFN_TYPE_SUMMARYまたはOCI_SUBSCR_NTFN_TYPE_LASTのいずれかの通知グループ化タイプに設定します。デフォルトは通知の要約です。もう一つの選択肢は最後の通知です。

属性データ型

ub1 *

OCI_ATTR_SUBSCR_NTFN_GROUPING_VALUE

モード

読取り/書込み

説明

グループ化クラスの値を指定します。時間については、この値は秒単位で指定したグループ化通知の期間です。つまり、この期間の後、OCI_ATTR_SUBSCR_NTFN_GROUPING_REPEAT_COUNTに到達するまでグループ化通知が定期的に送信されます。

属性データ型

ub4 *

OCI_ATTR_SUBSCR_PAYLOAD

モード

読取り/書込み

説明

通知とともに送信する必要があるペイロードに対応するバッファです。バッファ長も同じ属性設定コールに指定できます。サブスクリプションで転送を実行するには、この属性を設定する必要があります。このリリースでは、タイプ化されていない(ub1 *)ペイロードのみをサポートします。

属性データ型

ub1 *

OCI_ATTR_SUBSCR_PORTNO

モード

読取り/書込み

説明

環境ハンドルに設定されるサーバーのポート番号です。ポート番号はOCISessionBegin()によってクライアントに送信されます。

属性データ型

ub4 *

OCI_ATTR_SUBSCR_QOSFLAGS

モード

読取り/書込み

説明

サーバーのサービス・レベル品質です。可能な設定は、次のとおりです。

  1. OCI_SUBSCR_QOS_RELIABLE− 信頼性。データベースがクラッシュしても、通知は行われます。非永続キューやバッファ・メッセージに対してはサポートされません。

  2. OCI_SUBSCR_QOS_PURGE_ON_NTFN− 受信後、通知を削除し、サブスクリプションも削除します。

  3. OCI_SUBSCR_QOS_PAYLOAD− ペイロード通知。

属性データ型

ub4 *

OCI_ATTR_SUBSCR_RECPT

モード

読取り/書込み

説明

属性OCI_ATTR_SUBSCR_RECPTPROTOOCI_SUBSCR_PROTO_MAILOCI_SUBSCR_PROTO_HTTPまたはOCI_SUBSCR_PROTO_SERVERに設定されているときの通知の受信者名です。

OCI_SUBSCR_PROTO_HTTPの場合は、OCI_ATTR_SUBSCR_RECPTによって、通知の送信先HTTP URL(http://www.oracle.com:80など)が示されます。データベースでHTTP URLの妥当性がチェックされることはありません。

OCI_SUBSCR_PROTO_MAILの場合は、OCI_ATTR_SUBSCR_RECPTによって、通知の送信先の電子メール・アドレス(xyz@oracle.comなど)が示されます。データベース・システムで電子メール・アドレスの妥当性がチェックされることはありません。

OCI_SUBSCR_PROTO_SERVERの場合、OCI_ATTR_SUBSCR_RECPTは、通知イベントで呼び出されるデータベース・プロシージャ(schema.procedureなど)を示します。サブスクライバには、実行するプロシージャに対する適切な権限が必要です。


関連項目:


プロシージャ定義については、「通知プロシージャ」を参照してください。

属性データ型

oratext *

OCI_ATTR_SUBSCR_RECPTPRES

モード

読取り/書込み

説明

クライアントが通知を受信するための表現です。有効な値は、OCI_SUBSCR_PRES_DEFAULTおよびOCI_SUBSCR_PRES_XMLです。

設定しない場合、この属性は、OCI_SUBSCR_PRES_DEFAULTにデフォルト設定されます。

イベント通知をXML表示で受信する場合、この属性はOCI_SUBSCR_PRES_XMLに設定する必要があります。それ以外の場合は、属性を設定しないか、OCI_SUBSCR_PRES_DEFAULTに設定します。

属性データ型

ub4

OCI_ATTR_SUBSCR_RECPTPROTO

モード

読取り/書込み

説明

クライアントが通知を受信するためのプロトコルです。有効な値は次のとおりです。

OCIクライアントでイベント通知を受信する場合は、OCI_SUBSCR_PROTO_OCIに設定します。

電子メールをイベント通知で送信する場合は、OCI_SUBSCR_PROTO_MAILに設定します。イベント通知によってPL/SQLプロシージャをデータベースで呼び出す場合は、OCI_SUBSCR_PROTO_SERVERに設定します。HTTP URLをイベント通知に送信する場合は、OCI_SUBSCR_PROTO_HTTPに設定します。

設定しない場合、この属性は、OCI_SUBSCR_PROTO_OCIにデフォルト設定されます。

OCI_SUBSCR_PROTO_OCIの場合は、サブスクリプション・ハンドルを登録コールOCISubscriptionRegister()に渡す前に、OCI_ATTR_SUBSCR_CALLBACK属性とOCI_ATTR_SUBSCR_CTX属性を設定しておく必要があります。

OCI_SUBSCR_PROTO_MAILOCI_SUBSCR_PROTO_SERVERおよびOCI_SUBSCR_PROTO_HTTPの場合は、サブスクリプション・ハンドルを登録コールOCISubscriptionRegister()に渡す前に、OCI_ATTR_SUBSCR_RECPT属性を設定しておく必要があります。

属性データ型

ub4 *

OCI_ATTR_SUBSCR_TIMEOUT

モード

読取り/書込み

説明

登録タイムアウトの時間隔(秒)です。0(ゼロ)または未指定の場合、登録は明示的に解除されるまで有効です。

属性データ型

ub4 *

連続問合せ通知属性

OCI_ATTR_CHNF_CHANGELAG

モード

書込み

説明

このトランザクション数ごとに連続問合せ通知がクライアントから行われます。

属性データ型

ub4 *

OCI_ATTR_CHNF_OPERATIONS

モード

書込み

説明

操作タイプに基づいて通知をフィルタするために使用します。

属性データ型

ub4 *


関連項目:


フラグ値の詳細は、「連続問合せ通知」を参照してください。

OCI_ATTR_CHNF_ROWIDS

モード

書込み

説明

TRUEの場合、連続問合せ通知メッセージには、操作タイプやROWIDなどの行レベルの詳細が含まれます。デフォルトはFALSEです。

属性データ型

boolean *

OCI_ATTR_CHNF_TABLENAMES

モード

読取り

説明

登録された表名のリストを取り出すための属性です。これらの属性は、問合せの実行後にサブスクリプション・ハンドルから使用できます。

属性データ型

OCIColl **

連続問合せ通知の記述子の属性

OCI_ATTR_CHDES_DBNAME

モード

読取り

説明

データベース名です。

属性データ型

oratext **

OCI_ATTR_CHDES_NFTYPE

モード

読取り

説明

通知タイプを記述するフラグです。

属性データ型

ub4 *


関連項目:


フラグ値の詳細は、「連続問合せ通知」を参照してください。

OCI_ATTR_CHDES_ROW_OPFLAGS

モード

読取り

説明

操作タイプ(INSERTUPDATEDELETEまたはOTHER)です。

属性データ型

ub4 *

OCI_ATTR_CHDES_ROW_ROWID

モード

読取り

説明

ROWIDの文字列表現です。

属性データ型

oratext **

OCI_ATTR_CHDES_TABLE_CHANGES

モード

読取り

説明

表の操作を記述するコレクション型です。コレクションの各要素は、OCI_ATTR_CHDES_TABLEから始まる属性を持つOCI_DTYPE_TABLE_CHDES型の表連続問合せ記述子(OCITableChangeDesc *)です。次のエントリを参照してください。

属性データ型

OCIColl **

OCI_ATTR_CHDES_TABLE_NAME

モード

読取り

説明

スキーマおよび表名です。たとえば、HR.EMPLOYEESです。

属性データ型

oratext **

OCI_ATTR_CHDES_TABLE_OPFLAGS

モード

読取り

説明

表の操作を記述するフラグです。

属性データ型

ub4 *


関連項目:


フラグ値は、「OCI_DTYPE_TABLE_CHDES」を参照してください。

OCI_ATTR_CHDES_TABLE_ROW_CHANGES

モード

読取り

説明

表の行への変更を記述する埋込みコレクションです。コレクションの各要素は、OCI_ATTR_CHDES_ROW_OPFLAGSおよびOCI_ATTR_CHDES_ROW_ROWID属性を持つOCI_DTYPE_ROW_CHDES型の行連続問合せ記述子(OCIRowChangeDesc *)です。

属性データ型

OCIColl **

通知の記述子の属性

記述子OCI_DTYPE_AQNFYの属性:

OCI_ATTR_AQ_NTFN_GROUPING_COUNT

モード

読取り

説明

AQネームスペース用です。グループ内の受信した通知数です。

属性データ型

ub4 *

OCI_ATTR_AQ_NTFN_GROUPING_ MSGID_ARRAY

モード

読取り

説明

AQネームスペース用です。この場合のグループは、メッセージIDのOCIコレクションです。

属性データ型

OCIColl **

OCI_ATTR_CONSUMER_NAME

モード

読取り

説明

通知のコンシューマ名です。

属性データ型

oratext *

OCI_ATTR_NFY_FLAGS

モード

読取り

説明

0=通常、1=タイムアウト通知、2=グループ化通知となります。

属性データ型

ub4 *

OCI_ATTR_NFY_MSGID

モード

読取り

説明

メッセージIDです。

属性データ型

OCIRaw *

OCI_ATTR_MSG_PROP

モード

読取り

説明

メッセージ・プロパティです。

属性データ型

OCIAQMsgProperties **

OCI_ATTR_QUEUE_NAME

モード

読取り

説明

通知のキュー名です。

属性データ型

oratext *

無効化された問合せの属性

この項では、OCI_DTYPE_CQDESの属性について説明します。


関連項目:


「OCI_DTYPE_CQDES」

ダイレクト・パス・ロード・ハンドル属性


関連項目:


ダイレクト・パス・ロードおよびダイレクト・パス・ハンドルの割当ての詳細は、「ダイレクト・パス・ロードの概要」および「オブジェクト型のダイレクト・パス・ロード」を参照してください。

OCI_ATTR_CQDES_OPERATION

モード

読取り

説明

問合せ時に発生した操作です。値OCI_EVENT_QUERYCHANGE(問合せ結果セットの変更)またはOCI_EVENT_DEREG(問合せ登録解除)のいずれかを使用できます。

属性データ型

ub4 *

OCI_ATTR_CQDES_QUERYID

モード

読取り

説明

無効化された問合せの問合せIDです。

属性データ型

ub8 *

OCI_ATTR_CQDES_TABLE_CHANGES

モード

読取り

説明

問合せ結果セットの変更原因となった表に対するDMLまたはDDL操作を記述する、表連続問合せ記述子のコレクションです。コレクションの各要素はOCI_DTYPE_TABLE_CHDES型です。

属性データ型

OCIColl *

ダイレクト・パス・コンテキスト・ハンドル(OCIDirPathCtx)の属性

OCI_ATTR_BUF_SIZE

モード

読取り/書込み

説明

ストリーム転送バッファのサイズを設定します。デフォルト値は64KBです。

属性データ型

ub4 */ub4 *

OCI_ATTR_CHARSET_ID

モード

読取り/書込み

説明

文字データのデフォルトのキャラクタ・セットIDです。このキャラクタ・セットIDは、列レベルで上書きできることに注意してください。キャラクタ・セットIDが列レベルまたは表レベルで指定されていない場合は、グローバル・サポート環境設定が使用されます。

属性データ型

ub2 */ub2 *

OCI_ATTR_DATEFORMAT

モード

読取り/書込み

説明

SQLT_CHARからDTYDATに変換する際の、デフォルトの日付書式文字列です。この日付書式文字列は、列レベルで上書きできることに注意してください。日付書式文字列が列レベルまたは表レベルで指定されていない場合は、グローバル・サポート環境設定が使用されます。

属性データ型

oratext **/oratext *

OCI_ATTR_DIRPATH_DCACHE_DISABLE

モード

読取り/書込み

説明

この属性を1に設定して、容量を超えた日付キャッシュは無効になることを示します。デフォルト値は0です。これは、キャッシュ内の参照項目によってキャッシュのオーバーフローが継続されることを意味します。


関連項目:


この属性および次の4つの属性については、「OCIのダイレクト・パス・ロードでの日付キャッシュの使用」を参照してください。

属性データ型

ub1 */ub1 *

OCI_ATTR_DIRPATH_DCACHE_HITS

モード

読取り

説明

日付キャッシュのヒット数を問い合せます。

属性データ型

ub4 *

OCI_ATTR_DIRPATH_DCACHE_MISSES

モード

読取り

説明

日付キャッシュに関する現在のミスの数を問い合せます。

属性データ型

ub4 *

OCI_ATTR_DIRPATH_DCACHE_NUM

モード

読取り

説明

日付キャッシュ内の現在のエントリ数を問い合せます。

属性データ型

ub4 *

OCI_ATTR_DIRPATH_DCACHE_SIZE

モード

読取り/書込み

説明

表に日付キャッシュのサイズ(要素数単位)を設定します。日付キャッシュを使用禁止にするには、デフォルト値の0を設定します。

属性データ型

ub4 */ub4 *

OCI_ATTR_DIRPATH_INDEX_MAINT_METHOD

モード

読取り/書込み

説明

行単位で索引行の挿入を実行します。

次の値が有効です。

OCI_DIRPATH_INDEX_MAINT_SINGLE_ROW

属性データ型

ub1 */ub1 *

OCI_ATTR_DIRPATH_MODE

モード

読取り/書込み

説明

ダイレクト・パス・コンテキストのモードです。

  • OCI_DIRPATH_LOAD− ロード操作(デフォルト)

  • OCI_DIRPATH_CONVERT− 変換専用操作

属性データ型

ub1 */ub1 *

OCI_ATTR_DIRPATH_NOLOG

モード

読取り/書込み

説明

各セグメントのNOLOG属性は、イメージREDOと無効化REDOのどちらが生成されるかを次のように判断します。

  • 0− ロードされるセグメントの属性を使用します。

  • 1− ログ記録を行いません。必要に応じてDDL文を上書きします。

属性データ型

ub1 */ub1 *

OCI_ATTR_DIRPATH_OBJ_CONSTR

モード

読取り/書込み

説明

次のように、置換可能なオブジェクト表のオブジェクト型を示します。

OraText *obj_type; /* stores an object type name */
OCIAttrSet((void *)dpctx,
                           (ub4)OCI_HTYPE_DIRPATH_CTX,
                           (void *) obj_type,
                           (ub4)strlen((const char *) obj_type),
                           (ub4)OCI_ATTR_DIRPATH_OBJ_CONSTR, errhp);
属性データ型

oratext **/oratext *

OCI_ATTR_DIRPATH_PARALLEL

モード

読取り/書込み

説明

この値を1に設定すると、複数ロード・セッションで、共通のセグメントを同時にロードできます。デフォルトは0(ゼロ)です(非パラレル)。

属性データ型

ub1 */ub1 *

OCI_ATTR_DIRPATH_SKIPINDEX_METHOD

モード

読取り/書込み

説明

使用できない索引の処理方法を示します。

次の値が有効です。

  • OCI_DIRPATH_INDEX_MAINT_SKIP_UNUSABLE(使用できない索引をスキップする)

  • OCI_DIRPATH_INDEX_MAINT_DONT_SKIP_UNUSABLE(使用できない索引をスキップしない)

  • OCI_DIRPATH_INDEX_MAINT_SKIP_ALL(すべての索引メンテナンスをスキップする)

属性データ型

ub1 */ub1 *

OCI_ATTR_LIST_COLUMNS

モード

読取り

説明

ダイレクト・パス・コンテキストに対応付けられた列リストのパラメータ記述子に、ハンドルを戻します。OCI_ATTR_NUM_COLS属性で列数を設定した後で、列リスト・パラメータ記述子を取り出すことができます。

属性データ型

OCIParam* *

OCI_ATTR_NAME

モード

読取り/書込み

説明

ロードされる表の名前です。

属性データ型

oratext **/oratext *

OCI_ATTR_NUM_COLS

モード

読取り/書込み

説明

表にロードされる列の数です。

属性データ型

ub2 */ub2 *

OCI_ATTR_NUM_ROWS

モード

読取り/書込み

説明

読取り時: これまでにロードした行の数です。

書込み時: ダイレクト・パスおよびダイレクト・パス関数の列配列に対して割り当てられた行の数です。

属性データ型

ub2 */ub2 *

OCI_ATTR_SCHEMA_NAME

モード

読取り/書込み

説明

ロードされる表が存在するスキーマの名前です。指定しない場合は、デフォルトで、接続ユーザーのスキーマが使用されます。

属性データ型

oratext **/oratext *

OCI_ATTR_SUB_NAME

モード

読取り/書込み

説明

ロードされるパーティションまたはサブパーティションの名前です。指定しない場合は、表全体がロードされます。名前は、その表に属する有効なパーティションまたはサブパーティションの名前にする必要があります。

属性データ型

oratext **/oratext *

ダイレクト・パス関数のコンテキスト・ハンドル(OCIDirPathFuncCtx)属性

属性の詳細な説明は、次を参照してください。

OCI_ATTR_DIRPATH_EXPR_TYPE

モード

読取り/書込み

説明

スカラー列以外の関数コンテキストのOCI_ATTR_NAMEで指定された式の型を示します。

次の値が有効です。

  • OCI_DIRPATH_EXPR_OBJ_CONSTR(列オブジェクトのオブジェクト型名)

  • OCI_DIRPATH_EXPR_REF_TBLNAME(参照オブジェクトの表名)

  • OCI_DIRPATH_EXPR_SQL(列値を導出するためのSQL文字列)

属性データ型

ub1 */ub1 *

OCI_ATTR_LIST_COLUMNS

モード

読取り

説明

ダイレクト・パス関数コンテキストに対応付けられた列リストのパラメータ記述子に、ハンドルを戻します。列リストのパラメータ記述子は、列数(スカラー列以外の列に対応付けられた属性または引数の数)を設定した後に、OCI_ATTR_NUM_COLS属性を使用して取り出すことができます。

属性データ型

OCIParam* *

OCI_ATTR_NAME

モード

読取り/書込み

説明

関数コンテキストが列オブジェクトを記述している場合はオブジェクト型名、SQL文字列を記述している場合はSQL関数、REF列を記述している場合は参照表名です。

属性データ型

oratext **/oratext *

OCI_ATTR_NUM_COLS

モード

読取り/書込み

説明

列が列オブジェクトの場合は、ロードするオブジェクト属性の数です。列がSQL文字列またはREF列の場合は、処理する引数の数です。このパラメータは、列リストが取り出される前に設定する必要があります。

属性データ型

ub2 */ub2 *

OCI_ATTR_NUM_ROWS

モード

読取り

説明

これまでにロードした行の数です。

属性データ型

ub4 *

ダイレクト・パス関数の列配列ハンドル(OCIDirPathColArray)属性

OCI_ATTR_COL_COUNT

モード

読取り

説明

最後に処理された行の最終列です。

属性データ型

ub2 *

OCI_ATTR_NUM_COLS

モード

読取り

説明

列配列の列ディメンションです。

属性データ型

ub2 *

OCI_ATTR_NUM_ROWS

モード

読取り

説明

列配列の行ディメンションです。

属性データ型

ub4 *

OCI_ATTR_ROW_COUNT

モード

読取り

説明

OCIDirPathColArrayToStream()の最後のコールで正しく変換された行数です。

属性データ型

ub4 *

ダイレクト・パス・ストリーム・ハンドル(OCIDirPathStream)属性

OCI_ATTR_BUF_ADDR

モード

読取り

説明

ストリーム・データの先頭のバッファ・アドレスです。

属性データ型

ub1 **

OCI_ATTR_BUF_SIZE

モード

読取り

説明

ストリーム・データのバイト単位のサイズです。

属性データ型

ub4 *

OCI_ATTR_ROW_COUNT

モード

読取り

説明

最後のOCIDirPathLoadStream()コールで正しくロードされた行数です。

属性データ型

ub4 *

OCI_ATTR_STREAM_OFFSET

モード

読取り

説明

最後に処理された行の、ストリーム・バッファへのオフセットです。

属性データ型

ub4 *

ダイレクト・パス列パラメータ属性

アプリケーションでは、各列パラメータ記述子に対して属性を設定することにより、ロードする列、およびデータの外部書式を指定します。列パラメータ記述子は、OCIParamGet()によって、列パラメータ・リストのパラメータとして取得されます。表の列パラメータ・リストは、ダイレクト・パス・コンテキストのOCI_ATTR_LIST_COLUMNS属性から取得されます。非スカラー列の場合、列パラメータ・リストは、そのダイレクト・パス関数コンテキストのOCI_ATTR_LIST_COLUMNS属性から取得されます。

すべてのパラメータは1を基準としていることに注意してください。

列パラメータ属性へのアクセス

次のコード例は、スカラー列のダイレクト・パス列パラメータ属性の使用方法を示しています。この属性にアクセスするには、最初に、ロードする列の数を設定して、OCI_ATTR_LIST_COLUMNS属性から列パラメータ・リストを取得する必要があります。


関連項目:


「スカラー列に対するダイレクト・パス・ロードの例」リストで定義されているデータ構造を参照してください。

...
  /* set number of columns to be loaded */
  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
            OCIAttrSet((void *)dpctx, (ub4)OCI_HTYPE_DIRPATH_CTX,
                       (void *)&tblp->ncol_tbl,
                       (ub4)0, (ub4)OCI_ATTR_NUM_COLS, ctlp->errhp_ctl));

  /* get the column parameter list */
  OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
            OCIAttrGet((void *)dpctx, OCI_HTYPE_DIRPATH_CTX,
                       (void *)&ctlp->colLstDesc_ctl, (ub4 *)0,
                       OCI_ATTR_LIST_COLUMNS, ctlp->errhp_ctl));

これで、パラメータ属性を設定できます。

  /* set the attributes of each column by getting a parameter handle on each
   * column, then setting attributes on the parameter handle for the column.
   * Note that positions within a column list descriptor are 1-based. */

   for (i = 0, pos = 1, colp = tblp->col_tbl, fldp = tblp->fld_tbl;
       i < tblp->ncol_tbl;
       i++, pos++, colp++, fldp++)
  {
    /* get parameter handle on the column */
    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
              OCIParamGet((const void  *)ctlp->colLstDesc_ctl,
                          (ub4)OCI_DTYPE_PARAM, ctlp->errhp_ctl,
                          (void  **)&colDesc, pos));

    colp->id_col = i;                  /* position in column array */

    /* set external attributes on the column */
    /* column name */
    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
              OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)colp->name_col,
                         (ub4)strlen((const char *)colp->name_col),
                         (ub4)OCI_ATTR_NAME, ctlp->errhp_ctl));

    /* column type */
    OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
              OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)&colp->exttyp_col, (ub4)0,
                         (ub4)OCI_ATTR_DATA_TYPE, ctlp->errhp_ctl));

    /* max data size */
OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
              OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)&fldp->maxlen_fld, (ub4)0,
                         (ub4)OCI_ATTR_DATA_SIZE, ctlp->errhp_ctl));

    if (colp->datemask_col)    /* set column (input field) date mask */
    {
      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
                OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)colp->datemask_col,
                         (ub4)strlen((const char *)colp->datemask_col),
                         (ub4)OCI_ATTR_DATEFORMAT, ctlp->errhp_ctl));
    }
    if (colp->prec_col)
    {
      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
                OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)&colp->prec_col, (ub4)0,
                         (ub4)OCI_ATTR_PRECISION, ctlp->errhp_ctl));
    }
    if (colp->scale_col)
    {
      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
                OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)&colp->scale_col, (ub4)0,
                         (ub4)OCI_ATTR_SCALE, ctlp->errhp_ctl));
    }
    if (colp->csid_col)
    {
      OCI_CHECK(ctlp->errhp_ctl, OCI_HTYPE_ERROR, ociret, ctlp,
                OCIAttrSet((void  *)colDesc, (ub4)OCI_DTYPE_PARAM,
                         (void  *)&colp->csid_col, (ub4)0,
                         (ub4)OCI_ATTR_CHARSET_ID, ctlp->errhp_ctl));
    }
    /* free the parameter handle to the column descriptor */
    OCI_CHECK((void  *)0, 0, ociret, ctlp,
              OCIDescriptorFree((void  *)colDesc, OCI_DTYPE_PARAM));
  }
...

OCI_ATTR_CHARSET_ID

モード

読取り/書込み

説明

キャラクタ列のキャラクタ・セットIDです。設定しない場合は、ダイレクト・パス・コンテキスト内に設定されたキャラクタ・セットIDがデフォルトとして使用されます。

属性データ型

ub2 */ub2 *

OCI_ATTR_DATA_SIZE

モード

読取り/書込み

説明

列の外部データのバイト単位の最大サイズです。これは、変換バッファ・サイズに影響する可能性があります。

属性データ型

ub4 */ub4 *

OCI_ATTR_DATA_TYPE

モード

読取り/書込み

説明

列の外部データ型を戻すか、または設定します。有効なデータ型は次のとおりです。

  • SQLT_CHR

  • SQLT_DATE

  • SQLT_TIMESTAMP

  • SQLT_TIMESTAMP_TZ

  • SQLT_TIMESTAMP_LTZ

  • SQLT_INTERVAL_YM

  • SQLT_INTERVAL_DS

  • SQLT_INT

  • SQLT_UIN

  • SQLT_FLT

  • SQLT_PDN

  • SQLT_BIN

  • SQLT_NUM

  • SQLT_NTY

  • SQLT_REF

  • SQLT_VST

  • SQLT_VNU

属性データ型

ub2 */ub2 *

OCI_ATTR_DATEFORMAT

モード

読取り/書込み

説明

列の日付変換マスクです。設定しない場合、日付書式は、デフォルトでダイレクト・パス・コンテキスト内に設定された日付変換マスクになります。

属性データ型

oratext **/oratext *

OCI_ATTR_DIRPATH_OID

モード

読取り/書込み

説明

ロードする列は、オブジェクト表のオブジェクトID列であることを示します。

属性データ型

ub1 */ub1 *

OCI_ATTR_DIRPATH_SID

モード

読取り/書込み

説明

ロードする列は、ネストした表のsetid列であることを示します。

属性データ型

ub1 */ub1 *

OCI_ATTR_NAME

モード

読取り/書込み

説明

ロードされる列の名前を戻すか、または設定します。OCIAttrGet()をコールする前に、列名と列名の長さの両方を0に初期化します。

属性データ型

oratext **/oratext *

OCI_ATTR_PRECISION

モード

読取り/書込み

説明

精度を戻すか、または設定します。

属性データ型

明示的な記述の場合は、ub1 */ub1 *

暗黙的な記述の場合は、sb2 */sb2 *

OCI_ATTR_SCALE

モード

読取り/書込み

説明

パック10進数およびゾーン10進数の入力データ型からの変換のスケール(小数点以下の桁数)を戻すか、または設定します。

属性データ型

sb1 */sb1 *

プロセス・ハンドル属性

共有システムのパラメータは、OCIAttrSet()コールおよびOCIAttrGet()コールを使用して設定および読取りができます。使用するハンドル・タイプはプロセス・ハンドルOCI_HTYPE_PROCです。

OCI_ATTR_MEMPOOL_APPNAME属性、OCI_ATTR_MEMPOOL_HOMENAME属性およびOCI_ATTR_MEMPOOL_INSTNAME属性は、アプリケーション名、ホーム名およびインスタンス名を指定します。これらの名前を一緒に使用して、プロセスを適切な共有プール領域にマップすることができます。これらの属性を設定しない場合は、内部デフォルト値が使用されます。特定の動作のための有効な属性設定を次に示します。

OCI_ATTR_MEMPOOL_APPNAME

モード

読取り/書込み

説明

実行可能ファイルのファイル名または完全修飾パス名です。

属性データ型

oratext *

OCI_ATTR_MEMPOOL_HOMENAME

モード

読取り/書込み

説明

共通の共有サブシステム・インスタンスを使用する実行可能ファイルが存在するディレクトリ名です。

属性データ型

oratext *

OCI_ATTR_MEMPOOL_INSTNAME

モード

読取り/書込み

説明

共有サブシステムのインスタンスを識別する、任意のユーザー定義名です。

属性データ型

oratext *

OCI_ATTR_MEMPOOL_SIZE

モード

読取り/書込み

説明

共有プールのバイト単位のサイズです。この属性は次のように設定されます。

ub4 plsz = 1000000;
OCIAttrSet((void  *)0, (ub4) OCI_HTYPE_PROC,
           (void  *)&plsz, (ub4) 0, (ub4) OCI_ATTR_POOL_SIZE, 0);
属性データ型

ub4 *

OCI_ATTR_PROC_MODE

モード

読取り

説明

現在設定されているすべてのプロセス・モードを戻します。読み取られる値には、現在設定されているすべてのOCIプロセス・モードの論理和をとった値が含まれます。特定のモードが設定されているかどうかを判断するには、そのモードで値の論理和をとります。たとえば、次のようにします。

ub4 mode;
boolean is_shared;

OCIAttrGet((void  *)0, (ub4)OCI_HTYPE_PROC,
           (void  *) &mode, (ub4 *) 0,
           (ub4)OCI_ATTR_PROC_MODE, 0);

is_shared = mode | OCI_SHARED;
属性データ型

ub4 *

イベント・ハンドル属性

OCIEventハンドルは、イベント・ペイロードの属性をカプセル化します。このハンドルは、イベント・コールバックをコールする前に暗黙的に割り当てられます。

イベント・コールバックは、次の属性とともにOCIAttrGet()を使用して、イベントの属性を取得します。

OCI_ATTR_DBDOMAIN

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、このイベントによる影響を受けたデータベース・ドメイン名が取り出されます。 これもサーバー・ハンドル属性です。

属性データ型

oratext **

OCI_ATTR_DBNAME

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、このイベントによる影響を受けたデータベース名が取り出されます。 これもサーバー・ハンドル属性です。

属性データ型

oratext **

OCI_ATTR_EVENTTYPE

モード

読取り

説明

発生したイベントのイベント型OCI_EVENTTYPE_HAです。

属性データ型

ub4 *

OCI_ATTR_HA_SOURCE

モード

読取り

説明

イベント型がOCI_EVENTTYPE_HAである場合、この属性を使用してイベントのソースを取得します。次の値が有効です。

  • OCI_HA_SOURCE_DATABASE

  • OCI_HA_SOURCE_NODE

  • OCI_HA_SOURCE_INSTANCE

  • OCI_HA_SOURCE_SERVICE

  • OCI_HA_SOURCE_SERVICE_MEMBER

  • OCI_HA_SOURCE_ASM_INSTANCE

  • OCI_HA_SOURCE_SERVICE_PRECONNECT

属性データ型

ub4 *

OCI_ATTR_HA_SRVFIRST

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、Real Application Clusters(RAC)HA DOWNイベントによる影響を受けたサーバー・ハンドルのリストから最初のサーバー・ハンドルが取り出されます。

属性データ型

OCIServer **

OCI_ATTR_HA_SRVNEXT

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、Real Application Clusters(RAC)HA DOWNイベントによる影響を受けたサーバー・ハンドルのリストから次のサーバー・ハンドルが取り出されます。

属性データ型

OCIServer **

OCI_ATTR_HA_STATUS

モード

読取り

説明

有効な値はOCI_HA_STATUS_DOWNです。現在、サブスクライブされているのはDOWNイベントのみです。

属性データ型

ub4 *

OCI_ATTR_HA_TIMESTAMP

モード

読取り

説明

HAイベントが発生した時刻です。

属性データ型

OCIDateTime **

OCI_ATTR_HOSTNAME

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、このイベントによる影響を受けたホストの名称が取り出されます。

属性データ型

oratext **

OCI_ATTR_INSTNAME

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、このイベントによる影響を受けたインスタンスの名称が取り出されます。 これもサーバー・ハンドル属性です。

属性データ型

oratext **

OCI_ATTR_INSTSTARTTIME

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、このイベントによる影響を受けたインスタンスの起動時間が取り出されます。 これもサーバー・ハンドル属性です。

属性データ型

OCIDateTime **

OCI_ATTR_SERVICENAME

モード

読取り

説明

この属性を使用してOCIAttrGet()をコールすると、このイベントによる影響を受けたサービスの名称が取り出されます。 名前の長さはub4 *です。 これもサーバー・ハンドル属性です。

属性データ型

oratext **