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

OCIの任意データ・インタフェース関数をリストし、説明します。

表22-3は、この項で説明している任意データ・インタフェース関数を示しています。

表22-3 任意データ関数 

関数 用途

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にしないでください。

  • OCI_TYPECODE_OBJECT

  • OCI_TYPECODE_REF

  • OCI_TYPECODE_VARRAY

  • OCI_TYPECODE_TABLE

これ以外のパラメータの場合は、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でのみ使用できます。

  • このコールは、OCIAnyDataの現行の位置にある属性の値を取得します。

  • tcパラメータは、現行の位置にある属性の型と一致する必要があります。一致しない場合はエラーが戻されます。

  • is_anyパラメータは、属性の型コードが次のいずれかの値の場合のみ適用できます。

    • OCI_TYPECODE_OBJECT

    • OCI_TYPECODE_VARRAY

    • OCI_TYPECODE_TABLE

    is_anyTRUEの場合、attr_valueOCIAnyData *の形式で戻されます。

  • 関数をコールする前に、属性に対してメモリーを割り当てる必要があります。メモリーはOCIObjectNew()を使用して割り当てることができます。NUMBERVARCHARなどの組込みの型の場合、属性は単なるスタック変数へのポインタである場合があります。表22-4 には、オブジェクトの属性型として使用できるOracleデータ型、およびそれに対応して渡される属性値の型が示されています。

表22-4 データ型および属性値

データ型 attr_value

VARCHAR2、VARCHAR、CHAR

OCIString **

NUMBER、REAL、INT、FLOAT、DECIMAL

OCINumber **

DATE

OCIDate **

TIMESTAMP

OCIDateTime **

TIMESTAMPWITHTIMEZONE

OCIDateTime **

TIMESTAMPWITHLOCALTIMEZONE

OCIDateTime **

INTERVALYEARTOMONTH

OCIInterval **

INTERVALDAYTOSECOND

OCIInterval **

BLOB

OCILobLocator **またはOCIBlobLocator **

CLOB

OCILobLocator **またはOCIClobLocator *

BFILE

OCILobLocator **

REF

OCIRef **

RAW

OCIRaw **

VARRAY

OCIArray ** (is_anyTRUEの場合は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の場合)またはOCIAnyDataCollAddElem() (コレクション型コードの場合)を使用します。

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

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

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

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

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

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

データ型 attr_value

VARCHAR2、VARCHAR、CHAR

OCIString *

NUMBER、REAL、INT、FLOAT、DECIMAL

OCINumber *

DATE

OCIDate *

TIMESTAMP

OCIDateTime *

TIMESTAMPWITHTIMEZONE

OCIDateTime *

TIMESTAMPWITHLOCALTIMEZONE

OCIDateTime *

INTERVALYEARTOMONTH

OCIInterval *

INTERVALDAYTOSECOND

OCIInterval *

BLOB

OCILobLocator *またはOCIBlobLocator *

CLOB

OCILobLocator *またはOCIClobLocator *

BFILE

OCILobLocator *

REF

OCIRef *

RAW

OCIRaw *

VARRAY

OCIArray * (is_anyTRUEの場合はOCIAnyData *)

TABLE

OCITable * (is_anyTRUEの場合はOCIAnyData *)

OBJECT

void * (is_anyTRUEの場合はOCIAnyData *)

OCIAnyDataBeginCreate()

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

用途

指定の継続時間に対して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()をコールして診断情報を取得します。

tc (IN)

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

  • OCI_TYPECODE_OBJECT

  • OCI_TYPECODE_REF

  • OCI_TYPECODE_VARRAY

type (IN)

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

dur (IN)

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

  • 以前に作成されたユーザー期間。これは、次を使用して作成できます。

  • OCI_DURATION_SESSIONなどの事前定義の期間。

sdata (OUT)

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

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

コメント

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

属性値は順に設定する必要があります。最初の属性から最後の属性に順に設定してください。現行の属性番号は、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_ind)をOCI_IND_NULLに設定します。この場合、他のすべての引数は無視されます。それ以外の場合、null_indOCI_IND_NOTNULLに設定する必要があります。

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

関連トピック

OCIAnyDataCollGetElem()

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

用途

現行の位置にある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が割り当てられる継続時間です。次のいずれかです。

  • 以前に作成されたユーザー期間。これは、OCIDurationBegin()を使用して作成できます。

  • OCI_DURATION_SESSIONなどの事前定義の期間。

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()

OCIAnyDataを解放します。

用途

OCIAnyDataを解放します。

構文

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()

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

用途

この関数は、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かどうかをチェックします。

用途

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コードに変換します。

用途

OCIAnyData値の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_CHARおよびOCI_TYPECODE_VARCHAR2を、SQLCS_IMPLICITの文字セット・フォームでSQLT_VST (OCIStringマッピングに相当する)に変換します。また、OCI_TYPECODE_NVARCHAR2は、文字セット・フォームがSQLCS_NCHARSQLT_VST (OCIStringマッピングはOCIAnyData APIで使用されます)を戻します。