2017-02-21 84 views
0

我使用VBA宏創建了Excel和SQL Server之間的連接,但在連接字符串方面有一些困難 - 特別是初始目錄參數。VBA中的SQL與Excel連接

當我運行以下命令時,我的連接狀態良好,我可以通過引用完整表路徑([dbname]。[dbo]。[tablename])將數據複製到Excel中。

{conn.open = "Provider=SQLOLEDB;Data Source=" & Server_Name & ";Trusted_connection=yes"}

然而,當我運行不同版本的連接字符串(下面)的,連接失敗,錯誤如下:

{"Provider=SQLOLEDB;Data Source=" & Server_Name & ";Initial Catalog=" & Database_Name & ";Trusted_connection=yes"}

error message

因此,該錯誤似乎是在初始化目標數據庫 - 我不是管理員用戶,但不明白爲什麼登錄失敗,因爲我有權訪問他的數據庫,並可以連接到服務器罰款。任何幫助,將不勝感激。

+0

什麼是'Database_Name'?它說它無法打開它。這是真的嗎?它有限制嗎? – Vityata

+0

您是否需要指定用戶憑證? –

回答

1

在第二個例子,而不是「Trusted_Connection =是」嘗試「集成安全性= SSPI」

0

感謝您的答覆 - 我現在已經設法弄清楚這個問題。該數據庫沒有問題,因爲它存在,對我的訪問沒有任何限制。另外,對服務器的訪問沒有問題(例如用戶憑證或SSPI vs可信連接)。

的問題是實際上只是一個很基本的錯誤 - 該數據庫名稱變量保存在方括號(因爲它會在正常的SQL代碼簡稱):

{database_name = "[database]"}

拆除方支架啓用代碼工作