SQLPoolConnect 函数

一致性
引入的版本:ODBC 3.8 标准合规性:ODBC

摘要
SQLPoolConnect 用于创建新连接(如果池中没有任何连接可以重复使用)。

语法

  
SQLRETURN  SQLPoolConnect(  
                SQLHDBC              hDbc,  
                SQLHDBC_INFO_TOKEN   hDbcInfoToken,  
                WCHAR *              wszOutConnectString,  
                SQLSMALLINT          cchConnectStringBuffer,  
                SQLSMALLINT *        cchConnectStringLen );  

参数

hDbc
[输入]连接句柄。

hDbcInfoToken
[输入]新应用程序连接请求的令牌句柄。

wszOutConnectString
[输出]指向已完成连接字符串的缓冲区的指针。 成功连接到目标数据源后,此缓冲区包含已完成的连接字符串。 应用程序应为此缓冲区分配至少 1,024 个字符。

如果 wszOutConnectString 为 NULL, cchConnectStringLen 仍将返回字符总数 (不包括字符数据的 null 终止字符数,) wszOutConnectString 指向的缓冲区中返回。

cchConnectStringBuffer
[输入]*wszOutConnectString 缓冲区的 长度(以字符为单位)。

cchConnectStringLen
[输出]指向缓冲区的指针,该缓冲区中要返回的字符总数 (不包括可在 *wszOutConnectString 中返回的 null 终止字符) 。 如果可返回的字符数大于或等于 cchConnectStringBuffer,则 *wszOutConnectString 中完成的连接字符串将被截断为 cchConnectStringBuffer 减去 null 终止字符的长度。

返回

SQL_SUCCESS、SQL_SUCCESS_WITH_INFO、SQL_ERROR或SQL_INVALID_HANDLE。

诊断

类似于任何输入验证错误的 SQLDriverConnect,只不过驱动程序管理器将使用 SQL_HANDLE_DBC_INFO_TOKEN 的 HandleTypehDbcInfoToken句柄

备注

驱动程序管理器保证 hDbc 和 hDbcInfoToken 的父 HENV 句柄相同。

SQLDriverConnect 不同,没有 DriverCompletion 参数来提示用户输入连接信息。 池方案中不允许出现提示对话框。

应用程序不应直接调用此函数。 支持驱动程序感知连接池的 ODBC 驱动程序必须实现此函数。

每当驱动程序返回SQL_ERROR或SQL_INVALID_HANDLE时,驱动程序管理器会将错误返回到 SQLConnectSQLDriverConnect) 中的应用程序 (。

每当驱动程序返回SQL_SUCCESS_WITH_INFO时,驱动程序管理器将从 hDbcInfoToken 获取诊断信息,并将SQL_SUCCESS_WITH_INFO返回到 SQLConnectSQLDriverConnect 中的应用程序。

当应用程序使用 SQLConnect 时, wszOutConnectString 将是 NULL 缓冲区, (最后三个参数将全部设置为 NULL、0、NULL) 。 否则,驱动程序必须返回输出连接字符串,该字符串将返回到应用程序的 SQLDriverConnect 函数 调用。

包括用于 ODBC 驱动程序开发的 sqlspi.h。

另请参阅

开发 ODBC 驱动程序
识别驱动程序的连接池
在 ODBC 驱动程序中开发连接池感知