SQLSetConnectAttrForDbcInfo 関数

適合 性
導入されたバージョン:ODBC 3.81 規格準拠:ODBC

Summary
SQLSetConnectAttrForDbcInfoSQLSetConnectAttrと同じですが、属性を接続ハンドルではなく接続情報トークンに設定します。

構文

  
SQLRETURN  SQLSetConnectAttrForDbcInfo(  
                SQLHDBC_INFO_TOKEN    hDbcInfoToken,  
                SQLINTEGER            Attribute,  
                SQLPOINTER            ValuePtr,  
                SQLINTEGER            StringLength );  

引数

hDbcInfoToken
[入力]トークンハンドル。

属性
[入力]集合への属性。 有効な属性のリストはドライバごとに異なり、 SQLSetConnectAttrと同じです。

ValuePtr
[入力]属性 に関連付けられる値を指し示します。 Attributeの値によって、ValuePtr は32ビットの符号なし整数値になるか、null終端文字文字列を指し示します。 Attribute引数がドライバー固有の値であれば、ValuePtr の値は符号付き整数である場合もあります。

StringLength
[入力] Attribute が ODBC で定義された属性で、 ValuePtr が文字列またはバイナリ バッファーを指している場合、この引数の長さは *ValuePtr にする必要があります。 文字文字列データの場合、この引数は文字列内のバイト数を含ませるべきです。

Attributeが ODBC で定義された属性で、ValuePtr が整数の場合、StringLength は無視されます。

Attribute がドライバー定義の属性である場合、アプリケーションは、StringLength 引数を設定することによって、ドライバー マネージャーに属性の性質を示します。 StringLength には、次の値を指定できます。

  • ValuePtr が文字列へのポインターの場合、StringLength は文字列またはSQL_NTSの長さです。

  • ValuePtr がバイナリ バッファーへのポインターである場合、アプリケーションは SQL_LEN_BINARY_ATTR(length) マクロの結果を StringLength に配置します。 これにより、 StringLength に負の値が設定されます。

  • ValuePtr が文字列またはバイナリ文字列以外の値へのポインターである場合、StringLength には値がSQL_IS_POINTER必要があります。

  • ValuePtrに固定長の値が含まれている場合、StringLengthは必要に応じてSQL_IS_INTEGERまたはSQL_IS_UINTEGERです。

返品

SQL_SUCCESS、SQL_SUCCESS_WITH_INFO、SQL_ERROR、またはSQL_INVALID_HANDLE。

Diagnostics

SQLSetConnectAttrと同じですが、ドライバーマネージャーはHandleType(SQL_HANDLE_DBC_INFO_TOKEN)とhDbcInfoTokenHandleを使用します。

Remarks

SQLSetConnectAttrForDbcInfoSQLSetConnectAttrと同じですが、属性を接続ハンドルではなく接続情報トークンに設定します。 例えば、 SQLSetConnectAttr がある属性を認識できない場合、 SQLSetConnectAttrForDbcInfo もその属性に対してSQL_ERRORを返すべきです。

ドライバーがSQL_ERRORまたはSQL_INVALID_HANDLEを返すときは、この属性を無視してプールIDを計算する必要があります。 また、ドライバーマネージャーは hDbcInfoTokenから診断情報を取得し、 SQLConnect および SQLDriverConnectでSQL_SUCCESS_WITH_INFOをアプリケーションに返します。 したがって、アプリケーションはなぜ特定の属性を設定できないのかの詳細を取得することができます。

アプリケーションはこの関数を直接呼び出すべきではありません。 ドライバー認識接続プーリングをサポートするODBCドライバーはこの機能を実装しなければなりません。

ODBCドライバー開発のためにsqlspi.hを含めてください。