SQLPoolConnect 関数
準拠
導入されたバージョン: ODBC 3.8 Standards Compliance: ODBC
まとめ
プール内の接続を再利用できない場合は、SQLPoolConnect を使用して新しい接続を作成します。
構文
SQLRETURN SQLPoolConnect(
SQLHDBC hDbc,
SQLHDBC_INFO_TOKEN hDbcInfoToken,
WCHAR * wszOutConnectString,
SQLSMALLINT cchConnectStringBuffer,
SQLSMALLINT * cchConnectStringLen );
引数
Hdbc
[入力]接続ハンドル。
hDbcInfoToken
[入力]新しいアプリケーション接続要求のトークン ハンドル。
wszOutConnectString
[出力]完了した接続文字列のバッファーへのポインター。 ターゲット データ ソースへの接続が成功すると、このバッファーには完了した接続文字列が含まれます。 アプリケーションでは、このバッファーに少なくとも 1,024 文字を割り当てる必要があります。
wszOutConnectString が NULL の場合でも、cchConnectStringLen は wszOutConnectString が指すバッファーで返すことができる文字数の合計 (文字データの null 終端文字を除く) を返します。
cchConnectStringBuffer
[入力]*wszOutConnectString バッファーの長さ (文字数)。
cchConnectStringLen
[出力]*wszOutConnectString で返すことができる合計文字数 (null 終端文字を除く) を返すバッファーへのポインター。 返すことができる文字数が cchConnectStringBuffer 以上の場合、*wszOutConnectString 内の完了した接続文字列は 、cchConnectStringBuffer から null 終端文字の長さを引いた値に切り捨てられます。
戻り値
SQL_SUCCESS、SQL_SUCCESS_WITH_INFO、SQL_ERROR、または SQL_INVALID_HANDLE。
診断
入力検証エラーの SQLDriverConnect に似ていますが、ドライバー マネージャーで handleType のSQL_HANDLE_DBC_INFO_TOKENとハンドル のhDbcInfoToken が使用される点が除きます。
解説
ドライバー マネージャーは、hDbc と hDbcInfoToken の親 HENV ハンドルが同じであることを保証します。
SQLDriverConnect とは異なり、接続情報の入力をユーザーに求める DriverCompletion 引数はありません。 プーリング シナリオでは、プロンプト ダイアログは許可されません。
アプリケーションでは、この関数を直接呼び出さないでください。 ドライバー対応接続プールをサポートする ODBC ドライバーは、この関数を実装する必要があります。
ドライバーがSQL_ERRORまたはSQL_INVALID_HANDLEを返すたびに、ドライバー マネージャーはアプリケーションにエラーを返します ( SQLConnect または SQLDriverConnect)。
ドライバーがSQL_SUCCESS_WITH_INFOを返すたびに、ドライバー マネージャーは hDbcInfoToken から診断情報を取得し、 SQLConnect とSQLDriverConnect でアプリケーションにSQL_SUCCESS_WITH_INFOを返します。
アプリケーションで SQLConnect を使用する場合、 wszOutConnectString は NULL バッファーになります (最後の 3 つのパラメーターはすべて NULL、0、NULL に設定されます)。 それ以外の場合、ドライバーは、アプリケーションの SQLDriverConnect 関数 呼び出しに返される出力接続文字列を返す必要があります。
ODBC ドライバー開発用に sqlspi.h を含めます。