2013-03-13 106 views
2

我在這個錯誤上花了幾個小時,在我的大腦或互聯網上找不到任何相關解決方案。Excel 2010 VBA adodb連接到SQL Server 2010登錄超時

我在Excel 2010中編寫了幾個VBA宏,這些宏連接到我的計算機上的SQL Server 2008數據庫並獲取一些信息。我用了他們幾個星期,他們工作得很好。

2天前我在新計算機上設置了SQL Server 2008和Excel 2010,並試圖導入我的數據庫和我的VBA宏。

問題:試圖使用宏時,excel停止應答,然後在強制關閉時發生災難性故障而崩潰。所以,我創建了一個新的空數據庫(稱爲PR_db),創建一個新的Excel文件,並設法使只是一個簡單的Connexion公司與下面的代碼數據庫:

Public Const cString = "Provider=SQLOLEDB; Data Source=tosh-TOSH; Initial Catalog=PR_db;Trusted_Connection=yes" 

Dim objMyConn As Object 
Set objMyConn = CreateObject("ADODB.Connection") 
objMyConn.Open 
objMyConn.Close 

此代碼工作了幾周我以前的電腦上。但在新電腦上,它會導致10次出現「登錄超時錯誤」9次(偶爾會出現問題,但當我再次嘗試時,即使我沒有更改任何內容,也不起作用!)

我真的迷失在這裏......任何想法?

回答

1

我推薦閱讀關於連接字符串的更多信息。
http://www.connectionstrings.com/

+0

我試過另一個連接字符串: Driver = {SQL Server Native Client 10.0}; Server = myServerAddress; Database = myDataBase; Trusted_Connection = yes; 它運作良好。現在我想知道爲什麼我從來沒有在我的第一臺計算機上的以前的連接字符串的問題... 無論如何,謝謝你的答案。 – 2013-03-13 11:22:20

+0

您提供的代碼將無法運行或執行。在這種情況下連接字符串並不重要 – 2013-03-13 11:24:30

+0

你是什麼意思,它不會工作,也不會執行?在vba上,它工作。在vba中,它當然是在Sub_procedure中,但它在我的第一臺計算機上運行。 – 2013-03-13 11:27:09