Driver-Specific 連線資訊

SQLConnect 假設資料來源名稱、使用者 ID 和密碼足以連接資料來源,且所有其他連線資訊都可以儲存在系統中。 但事實往往並非如此。 例如,驅動程式可能需要一個使用者ID和密碼來登入伺服器,而登入資料庫管理系統則需要不同的使用者ID和密碼。 由於 SQLConnect 只接受單一使用者 ID 和密碼,這表示若要使用 SQLConnect ,另一個使用者 ID 和密碼必須與資料來源資訊一同儲存在系統中。 這可能構成安全漏洞,除非密碼被加密,否則應避免。

SQLDriverConnect 允許驅動程式在連接字串的關鍵字-值對中定義任意數量的連線資訊。 舉例來說,假設一個驅動程式需要資料來源名稱、伺服器的使用者 ID 和密碼,以及資料庫管理系統的使用者 ID 和密碼。 一個總是使用 XYZ Corp 資料來源的自訂程式,可能會提示使用者輸入 ID 和密碼,並建立以下一組關鍵字-值對或 連線字串, 傳給 SQLDriverConnect

備註

如果您連接到支援 Windows 認證的資料來源供應商,您應該在連接字串中指定 Trusted_Connection=yes,而非使用者 ID 和密碼資訊。

DSN={MyDataSourceName};UID={MyUserID};PWD={MyServerPassword};UIDDBMS={MyDBMSUserID};PWDDBMS={MyDBMSUserPassword};  

DSN(資料來源名稱)關鍵字指定資料來源,UIDPWD 關鍵字指定伺服器的使用者 ID 與密碼,UIDDBMSPWDDBMS 關鍵字則指定 DBMS 的使用者 ID 與密碼。 請注意,最後一個分號是可選的。 SQLDriverConnect 解析此字串;使用 XYZ 公司資料來源名稱來從系統中取得額外的連線資訊,例如伺服器位址;並透過指定的使用者 ID 與密碼登入伺服器與資料庫管理系統。

SQLDriverConnect 中的關鍵字值對必須遵循特定的語法規則。 關鍵字及其值不應包含 []{}(),;?*=!@ 字元。 DSN 關鍵字的值不能只包含空白,也不應該包含前置空白。 由於登錄文法的關係,關鍵字和資料來源名稱不能包含反斜線(\)字元。 關鍵字-值對中的等號旁不允許有空格。

FILEDSN 關鍵字可用於呼叫 SQLDriverConnect 指定包含資料來源資訊的檔案名稱(詳見本節後面的「使用檔案資料來源連接」)。 SAVEFILE 關鍵字可用來指定一個 .dsn 檔案的名稱,該檔案中將儲存呼叫 SQLDriverConnect 成功連線的關鍵字與值對。 欲了解更多關於檔案資料來源的資訊,請參閱 SQLDriverConnect 函式描述。