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

戻る
戻る
 
次へ
次へ
 

OCI任意データ・インタフェース関数

この項では、任意データ・インタフェース関数について説明します。

表21-4 任意データ関数 

関数 用途

OCIAnyDataAccess()


OCIAnyDataのデータ値を取り出します。

OCIAnyDataAttrGet()


OCIAnyDataの現行の位置にある属性の値を取得します。

OCIAnyDataAttrSet()


現行の位置にある属性に指定の値を設定します。

OCIAnyDataBeginCreate()


指定の継続時間に対してOCIAnyDataを割り当て、型情報を使用して初期化します。

OCIAnyDataCollAddElem()


現行の属性位置にあるOCIAnyDataのコレクション属性に、次のコレクション要素を追加します。

OCIAnyDataCollGetElem()


現行の位置にあるOCIAnyDataのコレクション属性内の要素に順次アクセスします。

OCIAnyDataConvert()


指定のデータ値を使用してOCIAnyDataを構成します。データ値は指定の型になります。

OCIAnyDataDestroy()


AnyDataを解放します。

OCIAnyDataEndCreate()


OCIAnyData作成の終わりをマークします。

OCIAnyDataGetCurrAttrNum()


OCIAnyDataの現行の属性番号を戻します。

OCIAnyDataGetType()


AnyData値に対応する型を取得します。

OCIAnyDataIsNull()


OCIAnyDataNULLかどうかをチェックします。

OCIAnyDataTypeCodeToSqlt()


AnyData値のOCITypeCodeをOCIAnyData APIが戻す値の表現に対応するSQLTコードに変換します。



OCIAnyDataAccess()

用途

OCIAnyDataのデータ値を取り出します。データ値です。OCIAnyDataの初期化で使用された型です。このコールを使用すると、OCI_TYPECODE_OBJECT型、任意のコレクション型または任意の組込みの型など、OCIAnyData全体にアクセスできます。

構文

sword OCIAnyDataAccess ( OCISvcCtx    *svchp,
                         OCIError     *errhp,
                         OCIAnyData   *sdata,
                         OCITypeCode  tc,
                         OCIType      *inst_type,
                         void         *null_ind,
                         void         *data_value,
                         ub4          *length );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN)

OCIAnyDataへの初期化済ポインタです。

tc (IN)

データ値の型コードです。この型コードを使用して型をチェックします(OCIAnyDataが初期化された型)。

inst_type (IN)

データ値のOCITypeです(基本形でない場合)。tcパラメータが次のいずれかの場合、このパラメータはNULLにできません。

このパラメータはNULLにしないでください。これ以外のパラメータの場合は、NULLでもかまいません。

null_ind (OUT)

data_valueNULLかどうかを示します。OCI_TYPECODE_OBJECT以外のすべての型コードについて、(OCIInd *)を渡します。戻される値は、値がNULL以外の場合はOCI_IND_NOTNULLに、値がNULLの場合はOCI_IND_NULLになります。型コードがOCI_TYPECODE_OBJECTの場合は、data_valueのインジケータ構造体へのポインタがここの引数として渡されます。詳細は、「OCIAnyDataAttrGet()」を参照してください。

data_value (OUT)

データ値です(OCIAnyDataの初期化で使用された型になります)。可能な各型コードに対応する適切なC型とこのパラメータに渡される値に応じたメモリー割当て動作については、「OCIAnyDataAttrGet()」を参照してください。

length (OUT)

現在、このパラメータは無視されます。今後、このパラメータは、データ表現自体が長さ(バイト単位)を暗黙的に渡さないような特定の型コードに使用される予定です。


OCIAnyDataAttrGet()

用途

OCIAnyDataの現行の位置にある属性の値を取得します。属性値には順次アクセスできます。

構文

sword OCIAnyDataAttrGet ( OCISvcCtx    *svchp,
                          OCIError     *errhp,
                          OCIAnyData   *sdata,
                          OCITypeCode  tc,
                          OCIType      *attr_type,
                          void         *null_ind,
                          void         *attr_value,
                          ub4          *length,
                          boolean      is_any );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN/OUT)

初期化済のOCIAnyData型へのポインタです。

tc (IN)

属性の型コードです。型のチェックは、tcattr_typeおよびOCIAnyDataの型情報に基づいて行われます。

attr_type (IN) [オプション]

attr_typeは、参照先の型(OCI_TYPECODE_REFの場合)、コレクション型(OCI_TYPECODE_VARRAYOCI_TYPECODE_TABLEの場合)またはオブジェクト(OCI_TYPECODE_OBJECTの場合)の型の記述を指定します。組込みの型コードの場合、このパラメータは必要ありません。

null_ind (OUT)

attr_valueNULLかどうかを示します。OCI_TYPECODE_OBJECT以外のすべての型コードについて、(OCIInd *)null_indで渡します。

型コードがOCI_TYPECODE_OBJECTの場合は、ポインタ(void **)null_indで渡します。

戻されるインジケータは、値がNULL以外の場合はOCI_IND_NOTNULLに、値がNULLの場合はOCI_IND_NULLになります。

attr_value (IN/OUT)

属性の値です。

length (IN/OUT)

現在、このパラメータは無視されます。ここでは、0(ゼロ)を渡してください。今後、このパラメータは、データ表現自体が長さ(バイト単位)を暗黙的に渡さないような特定の型コードに使用される予定です。

is_any (IN)

属性がOCIAnyDataの形式で戻されるかどうかを示します。

コメント

このコールは、型コードがOCI_TYPECODE_OBJECTOCIAnyDataでのみ使用できます。

表21-5 データ型および属性値

データ型 attr_value

VARCHAR2、VARCHAR、CHAR

OCIString **

NUMBER、REAL、INT、FLOAT、DECIMAL

OCINumber **

DATE

OCIDate **

TIMESTAMP

OCIDateTime **

TIMESTAMP WITH TIME ZONE

OCIDateTime **

TIMESTAMP WITH LOCAL TIME ZONE

OCIDateTime **

INTERVAL YEAR TO MONTH

OCIInterval **

INTERVAL DAY TO SECOND

OCIInterval **

BLOB

OCILobLocator **またはOCIBlobLocator **

CLOB

OCILobLocator **またはOCIClobLocator *

BFILE

OCILobLocator**

REF

OCIRef**

RAW

OCIRaw**

VARRAY

OCIArray **(is_anyがTRUEの場合はOCIAnyData *)

TABLE

OCITable **is_anyTRUEの場合はOCIAnyData *

OBJECT

void **is_anyTRUEの場合はOCIAnyData *



OCIAnyDataAttrSet()

用途

現行の位置にある属性に指定の値を設定します。

構文

sword OCIAnyDataAttrSet ( OCISvcCtx    *svchp,
                          OCIError     *errhp,
                          OCIAnyData   *sdata,
                          OCITypeCode  tc,
                          OCIType      *attr_type,
                          void         *null_ind,
                          void         *attr_value,
                          ub4          length,
                          boolean      is_any );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN/OUT)

初期化済のOCIAnyDataです。

tc (IN)

属性の型コードです。型のチェックは、tcattr_typeおよびOCIAnyDataの型情報に基づいて行われます。

attr_type (IN)

オプションです。

attr_typeは、参照先の型(OCI_TYPECODE_REFの場合)、コレクション型(OCI_TYPECODE_VARRAYOCI_TYPECODE_TABLEの場合)およびオブジェクト(OCI_TYPECODE_OBJECTの場合)の型の記述を指定します。組込みの型コードの場合、またはOCI_TYPECODE_NONEが指定されている場合、このパラメータは必要ありません。

null_ind (IN)

attr_valueNULLかどうかを示します。OCI_TYPECODE_OBJECT以外のすべての型コードについて、(OCIInd *)を渡します。インジケータは、値がNULL以外の場合はOCI_IND_NOTNULLに、値がNULLの場合はOCI_IND_NULLになります。

型コードがOCI_TYPECODE_OBJECTの場合は、attr_valueのインジケータ構造体へのポインタがここの引数として渡されます。

attr_value (IN)

属性の値です。

length (IN)

現在、このパラメータは無視されます。ここでは、0(ゼロ)を渡してください。今後、このパラメータは、データ表現自体が長さを暗黙的に渡さないような特定の型コードに使用される予定です。

is_any (IN)

属性がOCIAnyDataの形式かどうかを示します。

コメント

OCIAnyDataBeginCreate()によって、空のスケルトン・インスタンスを持つOCIAnyDataが作成されます。属性値を入力するには、OCIAnyDataAttrSet()OCI_TYPECODE_OBJECTの場合)またはOCIAnyDataCollAttrAddElem()(コレクション型コードの場合)を使用します。

属性値は、最初の属性から最後の属性まで順に設定する必要があります。現行の属性番号は、OCIAnyData内部のメンテナンス状態として記憶されています。埋込み属性およびコレクション要素のピース単位の構成はサポートされていません。

このコールによって、現行の位置にある属性にattr_valueが設定されます。OCIAnyDataインスタンスに対するピース単位の構成を開始すると、OCIAnyDataConstruct()はコールできなくなります。

tcは、現行の位置にある属性の型と一致する必要があります。それ以外の場合はエラーが戻されます。

is_anyがTRUEの場合、属性はOCIAnyData*の形式であることが必要で、変換されずに、囲まれたOCIAnyData(データ)にコピーされます。

次のリストには、オブジェクトの属性型として使用できるデータ型、およびそれに対応して渡される属性値の型が示されています。

表21-6 データ型および属性値

データ型 attr_value

VARCHAR2、VARCHAR、CHAR

OCIString *

NUMBER、REAL、INT、FLOAT、DECIMAL

OCINumber*

DATE

OCIDate*

TIMESTAMP

OCIDateTime *

TIMESTAMP WITH TIME ZONE

OCIDateTime *

TIMESTAMP WITH LOCAL TIME ZONE

OCIDateTime *

INTERVAL YEAR TO MONTH

OCIInterval *

INTERVAL DAY TO SECOND

OCIInterval *

BLOB

OCILobLocator *またはOCIBlobLocator *

CLOB

OCILobLocator *またはOCIClobLocator *

BFILE

OCILobLocator *

REF

OCIRef *

RAW

OCIRaw *

VARRAY

OCIArray *(is_anyがTRUEの場合はOCIAnyData *)

TABLE

OCITable *is_anyTRUEの場合はOCIAnyData *

OBJECT

void *is_anyTRUEの場合はOCIAnyData *



OCIAnyDataBeginCreate()

用途

指定の継続時間に対してOCIAnyDataを割り当て、型情報を使用して初期化します。

構文

sword OCIAnyDataBeginCreate ( OCISvcCtx      *svchp,
                              OCIError       *errhp,
                              OCITypeCode    tc,
                              OCIType        *type,
                              OCIDuration    dur,
                              OCIAnyData     **sdata );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN/OUT)

初期化済のOCIAnyDataです。

tc (IN)

OCIAnyDataに対応する型コードです。組込みの型コード、または次のようなユーザー定義型の型コードが可能です。

type (IN)

OCIAnyDataに対応する型です。型コードが組込みの型(OCI_TYPECODE_NUMBERなど)に対応している場合、このパラメータはNULLにできます。ユーザー定義型(OCI_TYPECODE_OBJECTOCI_TYPECODE_REF、コレクション型など)の場合は、NULL以外になります。

dur (IN)

OCIAnyDataが割り当てられる継続時間です。次のいずれかになります。

sdata (OUT)

初期化済のOCIAnyDataです。コールの開始時に(*sdata)NULLでない場合は、OCIAnyDataに領域を再割当てするかわりにメモリーを再使用できます。

したがって、初期化していないポインタをここで渡さないでください。

コメント

OCIAnyDataBeginCreate()によって、空のスケルトン・インスタンスを持つOCIAnyDataが作成されます。属性値を入力するには、OCIAnyDataAttrSet()OCI_TYPECODE_OBJECTの場合)またはOCIAnyDataCollAttrAddElem()(コレクション型コードの場合)を使用します。

属性値は順に設定する必要があります。最初の属性から最後の属性に順に設定してください。現行の属性番号は、OCIAnyData内部のメンテナンス状態として記憶されています。埋込み属性およびコレクション要素のピース単位の構成はサポートされていません。

パフォーマンス向上のために、OCIAnyDataは最終的に、渡されたOCITypeパラメータを指し示します。OCITypeの継続時間が延長されていることの確認は、プログラマの責任で行ってください(OCITypeが一時パラメータの場合は割当て時間 >= OCIAnyDataの継続時間、OCITypeが永続パラメータの場合は割当て/確保継続時間 >= OCIAnyDataの継続時間)。


OCIAnyDataCollAddElem()

用途

現行の属性位置にあるOCIAnyDataのコレクション属性に、次のコレクション要素を追加します。OCIAnyDataがコレクション型の場合は、属性位置の概念がなく、このコールでは次のコレクション要素が追加されます。

構文

sword OCIAnyDataCollAddElem ( OCISvcCtx    *svchp,
                              OCIError     *errhp,
                              OCIAnyData   *sdata,
                              OCITypeCode  collelem_tc,
                              OCIType      *collelem_type,
                              void         *null_ind,
                              void         *elem_value,
                              ub4          length,
                              boolean      is_any,
                              boolean      last_elem );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN/OUT)

初期化済のOCIAnyDataです。

collelem_tc (IN)

追加するコレクション要素の型コードです。型のチェックは、collelem_tccollelem_typeおよびOCIAnyDataの型情報に基づいて行われます。

collelem_type (IN)

オプションです。

collelem_typeは、参照先の型(OCI_TYPECODE_REFの場合)、コレクション型(OCI_TYPECODE_NAMEDCOLLECTIONの場合)およびオブジェクト(OCI_TYPECODE_OBJECTの場合)の型の記述を指定します。

組込みの型コードの場合、このパラメータは必要ありません。

null_ind (IN)

elem_valueNULLかどうかを示します。OCI_TYPECODE_OBJECT以外のすべての型コードについて、(OCIInd *)を渡します。インジケータは、値がNULL以外の場合はOCI_IND_NOTNULLに、値がNULLの場合はOCI_IND_NULLになります。

型コードがOCI_TYPECODE_OBJECTの場合は、elem_valueのインジケータ構造体へのポインタがここの引数として渡されます。

elem_value (IN)

コレクション要素の値です。

length (IN)

コレクション要素の長さです。

is_any (IN)

属性がOCIAnyDataの形式かどうかを示します。

last_elem (IN)

追加する要素がコレクション内で最後の要素かどうかを示します。

コメント

このコールは、OCI_TYPECODE_OBJECT型または任意のコレクション型のOCIAnyDataに対して呼び出すことができます。OCIAnyDataインスタンスに対するピース単位の構成を開始すると、OCIAnyDataConstruct()はコールできなくなります。

OCIAnyDataAttrSet()と同様に、is_anyは、collelem_tcの型コードがOCI_TYPECODE_OBJECTまたはコレクション型コードの場合のみ適用できます。is_anyTRUEの場合、属性はOCIAnyData*の形式であることが必要です。

追加する要素がコレクション内で最後の要素の場合は、last_elemTRUEに設定する必要があります。

NULL要素を追加するには、NULLインジケータのnull_indOCI_IND_NULLに設定します。この場合、他のすべての引数は無視されます。それ以外の場合、null_indOCI_IND_NOTNULLに設定する必要があります。

可能なすべての型のコレクション要素に渡される属性の型については、「OCIAnyDataAttrSet()」を参照してください。


OCIAnyDataCollGetElem()

用途

現行の位置にあるOCIAnyDataのコレクション属性内の要素に順次アクセスします。

構文

sword OCIAnyDataCollGetElem ( OCISvcCtx    *svchp,
                              OCIError     *errhp,
                              OCIAnyData   *sdata,
                              OCITypeCode  collelem_tc,
                              OCIType      *collelem_type,
                              void         *null_ind,
                              void         *collelem_value,
                              ub4          *length,
                              boolean      is_any );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN/OUT)

初期化済のOCIAnyDataです。

collelem_tc (IN)

取り出すコレクション要素の型コードです。型のチェックは、collelem_tccollelem_typeおよびOCIAnyDataの型情報に基づいて行われます。

collelem_type (IN)

オプションです。

collelem_typeは、参照先の型(OCI_TYPECODE_REFの場合)、コレクション型(OCI_TYPECODE_NAMEDCOLLECTIONの場合)およびオブジェクト(OCI_TYPECODE_OBJECTの場合)の型の記述を指定します。

組込みの型コードの場合、このパラメータは必要ありません。

null_ind (OUT)

collelem_valueNULLかどうかを示します。OCI_TYPECODE_OBJECT以外のすべての型コードについて、(OCIInd *)を渡します。インジケータは、値がNULL以外の場合はOCI_IND_NOTNULLに、値がNULLの場合はOCI_IND_NULLになります。

型コードがOCI_TYPECODE_OBJECTの場合は、collelem_valueのインジケータ構造体へのポインタ(void **)がここの引数として渡されます。

collelem_value (IN/OUT)

コレクション要素の値です。

length (IN/OUT)

コレクション要素の長さです。現在は無視されます。入力時には、0(ゼロ)を設定してください。

is_any (IN)

attr_valueOCIAnyDataの形式で戻されるかどうかを示します。

コメント

OCIAnyDataデータは、トップレベルのコレクションに対応させることもできます。OCIAnyDataOCI_TYPECODE_OBJECT型の場合、現行の位置の属性は適切な型のコレクションであることが必要です。それ以外の場合はエラーが戻されます。

OCIAnyDataAttrGet()と同様に、is_anyパラメータは、collelem_tcの型コードがOCI_TYPECODE_OBJECTである場合のみ適用されます。is_anyTRUEの場合、attr_valueOCIAnyData *の形式であることが必要です。

このコールは、コレクションの終わりに達するとOCI_NO_DATAを戻します。成功時にはOCI_SUCCESSを戻し、エラーが発生した場合はOCI_ERRORを戻します。

可能なすべての型のコレクション要素に渡される属性の型については、「OCIAnyDataAttrGet()」を参照してください。


OCIAnyDataConvert()

用途

指定のデータ値を使用してOCIAnyDataを構成します。データ値は指定の型になります。このコールを使用すると、OCI_TYPECODE_OBJECT型、任意のコレクション型または任意の組込みの型など、OCIAnyData全体を構成できます。

構文

sword OCIAnyDataConvert ( OCISvcCtx    *svchp,
                          OCIError     *errhp,
                          OCITypeCode  tc,
                          OCIType      *inst_type,
                          OCIDuration  dur,
                          void         *null_ind,
                          void         *data_value,
                          ub4          length,
                          OCIAnyData   **sdata );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

tc (IN)

データ値の型コードです。組込みの型コードまたはユーザー定義型の型コード(OCI_TYPECODE_OBJECTOCI_TYPECODE_REFOCI_TYPECODE_VARRAYなど)が可能です。

(*sdata)がNULL以外で、OCIAnyDataSetAddInstance()のコール時に戻されたスケルトン・インスタンスを表す場合、tcパラメータおよびinst_typeパラメータは、ここのオプションになります。これは、このようなスケルトン・インスタンスの型情報はすでに認識されているためです。この状況で、tcパラメータとinst_typeパラメータがここで指定されると、これらのパラメータは型のチェックにのみ使用されます。

inst_type (IN)

OCIAnyDataに対応する型です。型コードが組込みの型(OCI_TYPECODE_NUMBERなど)に対応している場合、このパラメータはNULLにできます。ユーザー定義型((OCI_TYPECODE_OBJECTOCI_TYPECODE_REF、コレクション型など)の場合は、NULL以外になります。

dur (IN)

OCIAnyDataが割り当てられる継続時間です。次のいずれかになります。

null_ind

data_valueNULLかどうかを示します。OCI_TYPECODE_OBJECT以外のすべての型コードについて、(OCIInd *)を渡します。インジケータは、値がNULL以外の場合はOCI_IND_NOTNULLに、値がNULLの場合はOCI_IND_NULLになります。

型コードがOCI_TYPECODE_OBJECTの場合は、data_valueのインジケータ構造体へのポインタがここの引数として渡されます。

data_value (IN)

データ値です。(OCIAnyDataの初期化で使用された型です)。可能な各型コードに対応する適切なC型については、「OCIAnyDataAttrSet()」を参照してください。

length (IN)

現在、このパラメータは無視されます。ここでは、0(ゼロ)を渡してください。今後、このパラメータは、データ表現自体が長さを暗黙的に渡さないような特定の型コードに使用される予定です。

sdata (IN/OUT)

初期化済のOCIAnyDataです。コールの開始時に(*sdata)がNULLでない場合は、OCIAnyDataに領域を再割当てするかわりにメモリーを再使用できます。

したがって、初期化していないポインタをここで渡さないでください。

(*sdata)がOCIAnyDataSetAddInstance()のコール時に戻されたスケルトン・インスタンスを表す場合、tcパラメータおよびinst_typeパラメータは、必要に応じて型のチェックに使用されます。

コメント

パフォーマンス向上のため、OCIAnyDataは最終的に、渡されたOCITypeパラメータを指し示します。OCITypeの継続時間が延長されていることの確認は、プログラマの責任で行ってください(OCITypeが一時パラメータの場合は割当て時間 >= OCIAnyDataの継続時間、OCITypeが永続パラメータの場合は割当て/確保継続時間 >= OCIAnyDataの継続時間)。


OCIAnyDataDestroy()

用途

AnyDataを解放します。

構文

sword OCIAnyDataDestroy ( OCISvcCtx      *svchp,
                          OCIError       *errhp,
                          OCIAnyData     *sdata );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN/OUT)

解放するOCIAnyData型へのポインタです。


OCIAnyDataEndCreate()

用途

OCIAnyData作成の終わりをマークします。この関数は、インスタンスのすべての属性を適切な値で初期化してからコールしてください。このコールは、OCIAnyDataに対してOCIAnyDataBeginCreate()がすでにコールされている場合のみ有効です。

構文

sword OCIAnyDataEndCreate ( OCISvcCtx      *svchp,
                            OCIError       *errhp,
                            OCIAnyData     *data );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data (IN/OUT)

初期化済のOCIAnyDataです。


OCIAnyDataGetCurrAttrNum()

用途

OCIAnyDataの現行の属性番号を戻します。OCIAnyDataを構成する場合、この関数は設定する現行の属性を参照します。また、OCIAnyDataにアクセスする場合は、アクセスする属性を参照します。

構文

sword OCIAnyDataGetCurrAttrNum( OCISvcCtx      *svchp,
                                OCIError       *errhp,
                                OCIAnyData     *sdata,
                                ub4            *attrnum );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN)

初期化済のOCIAnyDataです。

attrnum (OUT)

属性番号です。


OCIAnyDataGetType()

用途

AnyData値に対応する型を取得します。この関数は、OCIAnyDataの内部でメンテナンスされている型への実際のポインタを戻します。パフォーマンス向上のため、コピーは行われません。OCIAnyDataを解放した後(または継続時間が終了した後)、この型を使用しないようにすることは、プログラマの責任で行ってください。

構文

sword OCIAnyDataGetType( OCISvcCtx      *svchp,
                         OCIError       *errhp,
                         OCIAnyData     *data,
                         OCITypeCode    *tc,
                         OCIType        **type );

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

data (IN)

初期化済のOCIAnyDataです。

tc (OUT)

OCIAnyDataに対応する型コードです。

type (OUT)

OCIAnyDataに対応する型です。OCIAnyDataが組込みの型に対応している場合は、NULLになります。


OCIAnyDataIsNull()

用途

OCIAnyData内の型の内容がNULLかどうかをチェックします。

構文

sword OCIAnyDataIsNull ( OCISvcCtx         *svchp,
                         OCIError          *errhp,
                         const OCIAnyData  *sdata,
                         boolean           *isNull) ;

パラメータ

svchp (IN)

OCIサービス・コンテキストです。

errhp (IN/OUT)

OCIエラー・ハンドルです。エラーがある場合は、errに記録され、OCI_ERRORが戻されます。OCIErrorGet()をコールして診断情報を取得します。

sdata (IN)

チェックするOCIAnyDataです。

isNull (IN/OUT)

NULLの場合はTRUE、それ以外の場合はFALSEです。


OCIAnyDataTypeCodeToSqlt()

用途

AnyData値のOCITypeCodeをOCIAnyData APIが戻す値の表現に対応するSQLTコードに変換します。

構文

sword  OCIAnyDataTypeCodeToSqlt ( OCIError       *errhp,
                                  OCITypeCode    tc,
                                  ub1            *sqltcode,
                                  ub1            *csfrm) ;

パラメータ

errhp (IN/OUT)

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

tc (IN)

AnyData値に対応するOCITypeCodeです。

sqltcode (OUT)

型コードのユーザー・フォーマットに対応するSQLTコードです。

csfrm (OUT)

型コードのユーザー・フォーマットに対応するキャラクタ・セット・フォームです。キャラクタ・タイプの場合のみ有効です。(NCHAR型の)SQLCS_IMPLICITまたはSQLCS_NCHARを戻します。

コメント

この関数は、OCI_TYPECODE_VARCHAR2およびOCI_TYPECODE_CHARを、SQLCS_IMPLICITのキャラクタ・セット・フォームでSQLT_VST(OCIStringマッピングに相当する)に変換します。また、OCI_TYPECODE_NVARCHAR2は、SQLCS_NCHARのキャラクタ・セット・フォームでSQLT_VST(OCIStringマッピングは、OCIAnyData APIが使用)を戻します。


関連項目:


「OCIAnyData関数のNCHAR型コード」を参照してください。