我遇到了從Excel VBA連接到SQL Server數據庫的問題。我主要懷疑由於包含雙引號的密碼處理不正確而導致發生錯誤。VBA連接字符串中的錯誤
情景:
- SQL服務器名稱 - FOO \ BAR
- 初始目錄 - 滾動條
- 用戶 - Test_User
- 密碼 - tejg3kl」
連接字符串我正在使用的是:
Public Const ConnectionStringONLINE = "Provider=SQLOLEDB.1;Data Source=FOO\BAR;Initial Catalog=ScrollBar;User Id=Test_User;Password=tejg3kl!"";"
密碼值中包含一個額外的雙引號作爲轉義序列字符。
代碼以連接到數據庫 -
Dim DbConn As ADODB.Connection
Set DbConn = New ADODB.Connection
DbConn.Open ConnectionStringONLINE
當執行上面的代碼,收到錯誤 -
運行時error'-2147217843(80040E4D)':
用戶'Test_User'登錄失敗。
我對連接字符串中指定的相同憑據做了UDL測試,並且連接正常工作。
有關爲什麼在VBA中發生錯誤的任何建議?我是否需要修改連接字符串?
編輯 - 只需更改密碼字符串以在雙引號之前包含感嘆號,使其看起來與我正在使用的真實密碼完全相同。
密碼是否包含'「」'?您的連接字符串,因爲它會導致語法錯誤... –
亞歷克斯 - 密碼正是這個tejg3kl「 – StarDotStar
檢查此:http://www.connectionstrings.com/sql-server-native-client-11-0- oledb-provider/ –