分享方式:


SQLDriverConnect

適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW)

SQL Server Native Client ODBC 驅動程式會定義可取代或增強連接字串關鍵詞的連接屬性。 數個連接字串關鍵詞具有 SQL Server Native Client ODBC 驅動程式所指定的預設值。

如需 SQL Server Native Client ODBC 驅動程式中可用的關鍵詞清單,請參閱 搭配 SQL Server Native Client 使用連接字元串關鍵詞。

如需 SQL Server 連接屬性和驅動程式預設行為的詳細資訊,請參閱 SQLSetConnectAttr

如需適用於 SQL Server Native Client 之 連接字串 關鍵詞的討論,請參閱搭配 SQL Server Native Client 使用連接字元串關鍵詞。

當 SQLDriverConnectDriverCompletion 參數值SQL_DRIVER_PROMPT、SQL_DRIVER_COMPLETE或SQL_DRIVER_COMPLETE_REQUIRED時,SQL Server Native Client ODBC 驅動程式會從顯示的對話框中擷取關鍵詞值。 如果在 連接字串 中傳遞關鍵詞值,而且使用者不會在對話框中改變 關鍵詞的值,SQL Server Native Client ODBC 驅動程式會使用來自 連接字串 的值。 如果未在 連接字串 中設定值,而且使用者未在對話框中進行指派,驅動程式會使用預設值。

當任何 DriverCompletion 值需要或可能需要顯示驅動程式連接對話框時,都必須提供有效的 WindowHandle SQLDriverConnect。 無效的句柄會傳回SQL_ERROR。

指定 DRIVER 或 DSN 關鍵詞。 ODBC 指出驅動程式會使用這兩個關鍵詞的最左邊,如果同時指定兩個關鍵詞,則會忽略另一個關鍵詞。 如果指定 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 會使用預設語言或資料庫來指定使用者標識符,並傳回SQL_SUCCESS_WITH_INFO。

如果 DriverCompletion 參數值是SQL_DRIVER_COMPLETE或SQL_DRIVER_PROMPT,而且語言或資料庫無效,SQLDriverConnect 會重新顯示對話框。

高可用性、災害復原的 SQLDriverConnect 支援

如需使用 SQLDriverConnect 連線到 Always On 可用性群組叢集的詳細資訊,請參閱 SQL Server Native Client Support for High Availability, Disaster Recovery

服務主體名稱的 SQLDriverConnect 支援 (SPN)

啟用提示時,SQLDDriverConnect 將會使用 [ODBC 登入] 對話框。 如此可允許同時針對主體伺服器和它的容錯移轉夥伴來輸入 SPN。

SQLDriverConnect 將接受新的 連接字串 關鍵詞 ServerSPNFailoverPartnerSPN,並將辨識新的連接屬性SQL_COPT_SS_SERVER_SPN和SQL_COPT_SS_FAILOVER_PARTNER_SPN。

指定連接屬性值一次以上時,以程式設計方式設定的值優先於 DSN 中的值,以及 連接字串 中的值。 DSN 中的值優先於 連接字串 中的值。

開啟連線時,SQL Server Native Client 會將SQL_COPT_SS_MUTUALLY_AUTHENTICATED和SQL_COPT_SS_INTEGRATED_AUTHENTICATION_METHOD設定為用來開啟連線的驗證方法。

如需SPN的詳細資訊,請參閱用戶端連接 (ODBC) 中的服務主體名稱 (SPN)。

範例

下列呼叫說明 SQLDriverConnect 所需的最少資料量:

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

下列 連接字串 說明 DriverCompletion 參數值SQL_DRIVER_NOPROMPT時所需的最低必要數據:

"DSN=Human Resources;Trusted_Connection=yes"  
  
"FILEDSN=HR_FDSN;Trusted_Connection=yes"  
  
"DRIVER={SQL Server Native Client 10};SERVER=(local);Trusted_Connection=yes"  

另請參閱

SQLDriverConnect 函式
ODBC API 實作詳細數據
SET ANSI_NULLS (Transact-SQL)
SET ANSI_PADDING (Transact-SQL)
SET ANSI_WARNINGS (Transact-SQL)