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 函数