SQLDriverConnect

SQL Native Client ODBC 驱动程序定义用于替换或增强连接字符串关键字的连接属性。某些连接字符串关键字具有由 SQL Native Client ODBC 驱动程序指定的默认值。

有关可用于 SQL Native Client ODBC 驱动程序的关键字列表,请参阅Using Connection String Keywords with SQL Native Client

有关 SQL Server 连接属性和驱动程序默认行为的详细信息,请参阅 SQLSetConnectAttr

SQLDriverConnectDriverCompletion 参数值为 SQL_DRIVER_PROMPT、SQL_DRIVER_COMPLETE 或 SQL_DRIVER_COMPLETE_REQUIRED 时,SQL Native Client ODBC 驱动程序将从显示的对话框检索关键字值。如果在连接字符串中传递关键字值,并且用户不更改对话框中关键字的值,则 SQL Native Client ODBC 驱动程序将使用连接字符串中的值。如果在连接字符串中未设置值,并且用户在对话框中未指定任何值,则驱动程序将使用默认值。

当任何 DriverCompletion 值要求(或可能要求)显示驱动程序的连接对话框时,必须向 SQLDriverConnect 提供有效的 WindowHandle。无效句柄将返回 SQL_ERROR。

指定 DRIVER 或 DSN 关键字。ODBC 规定,如果同时指定了这两个关键字,驱动程序将使用左边的关键字,而忽略另一个关键字。如果指定 DRIVER 或 DRIVER 是两者中靠左的关键字,并且 SQLDriverConnectDriverCompletion 参数值为 SQL_DRIVER_NOPROMPT,则需要 SERVER 关键字和适当的值。

当指定 SQL_DRIVER_NOPROMPT 时,用户身份验证关键字必须具有值。驱动程序确保字符串“Trusted_Connection=yes”或 UID 和 PWD 关键字存在。

如果 DriverCompletion 参数值为 SQL_DRIVER_NOPROMPT 或 SQL_DRIVER_COMPLETE_REQUIRED,并且语言或数据库来自连接字符串且两者之一无效,则 SQLDriverConnect 返回 SQL_ERROR。

如果 DriverCompletion 参数值为 SQL_DRIVER_NOPROMPT 或 SQL_DRIVER_COMPLETE_REQUIRED,并且语言或数据库来自 ODBC 数据源定义且两者之一无效,则 SQLDriverConnect 将默认语言或数据库用于指定的用户 ID 并返回 SQL_SUCCESS_WITH_INFO。

如果 DriverCompletion 参数值为 SQL_DRIVER_COMPLETE 或 SQL_DRIVER_PROMPT,并且如果语言或数据库无效,则 SQLDriverConnect 重新显示此对话框。

示例

以下调用说明 SQLDriverConnect 要求的最小数据量:

SQLDriverConnect(hdbc, hwnd,
    (SQLTCHAR*) "DRIVER={SQL Native Client};" SQL_NTS, szOutConn,
    MAX_CONN_OUT, &cbOutConn, SQL_DRIVER_COMPLETE);

以下连接字符串说明当 DriverCompletion 参数值为 SQL_DRIVER_NOPROMPT 时所要求的最小数据量:

"DSN=Human Resources;UID=MyUserName;PWD=MyPassword"

"DSN=Human Resources;Trusted_Connection=yes"

"FILEDSN=HR_FDSN;UID=MyUserName;PWD=MyPassword"

"FILEDSN=HR_FDSN;Trusted_Connection=yes"

"DRIVER={SQL Native Client};SERVER=(local);UID=MyUserName;PWD=MyPassword"

"DRIVER={SQL Native Client};SERVER=(local);Trusted_Connection=yes"

请参阅

概念

ODBC API Implementation Details

其他资源

SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)
SQLDriverConnect 函数

帮助和信息

获取 SQL Server 2005 帮助