2013-03-13 154 views
3

我嘗試將我的Excel電子表格連接到本地託管的MySQL數據庫。我正在使用WAMPSERVER。VBA連接到MySQL DB

這裏是我的VBA代碼:

Dim oConn As ADODB.Connection 
Private Sub ConnectDB() 
    Set oConn = New ADODB.Connection 
    oConn.Open "DRIVER={MySQL ODBC 5.1 Driver};" & _ 
     "SERVER=localhost;" & _ 
     "DATABASE=test;" & _ 
     "USER=root;" & _ 
     "PASSWORD=;" & _ 
     "Option=3" 
End Sub 

我通過phpmyadmin創建了我的分貝「測試」 ...我有一個錯誤,當我運行的代碼。 你有想法嗎?

+0

好的,什麼是錯誤? – 2013-03-13 16:35:02

+0

@mehow它似乎是一個執行錯誤'-2147467259(80004005)',自動化錯誤和未指定的錯誤 – Henri 2013-03-13 16:39:10

+0

您是否嘗試過使用UID和PWD而不是USER和PASSWORD? +檢查你的mysql版本可能比它早於5.1,所以你可能需要將你的驅動程序版本更改爲ie。 3.51 或找到一個匹配的字符串[這裏](http://www.connectionstrings.com/mysql) – 2013-03-13 16:46:10

回答

2

問題是由於定義了錯誤的引用。在VBE中,我不得不點擊工具>參考,並檢查「Microsoft ActiveX數據對象6.1庫」,只有這一個。

宏正確WAMP下現在正在運行(使用默認參數的用戶名=根和pwd =「」)在Windows 7上用下面的代碼:

Dim oConn As ADODB.Connection 
Private Sub ConnectDB() 
    Set oConn = New ADODB.Connection 
    oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};" & _ 
     "SERVER=localhost;" & _ 
     "DATABASE=excel;" & _ 
     "USER=root;" & _ 
     "PASSWORD=;" & _ 
     "Option=3" 
End Sub