2014-03-28 122 views
0

我想建立一個遠程數據庫連接到運行MySQL版本5.0.96的服務器。當我執行時,我得到以下錯誤。VBA連接到MYSQL

任何幫助表示讚賞。

ERROR MESSAGE

這裏是我的連接代碼: 公共功能opendb()

Dim oConn As ADODB.Connection 
Dim Server_Name As String 
Dim User_Name As String 
Dim Password As String 
Dim Database_Name As String 

Server_Name = Sheets("_config").Range("B2").value 
User_Name = Sheets("_config").Range("B3").value 
Password = Sheets("_config").Range("B4").value 
Database_Name = Sheets("_config").Range("B5").value 

Set oConn = New ADODB.Connection 
oConn.Open "DRIVER={MySQL ODBC 5.0.96 Driver};" & _ 
    "SERVER=Server_Name;" & _ 
    "DATABASE=Database_Name;" & _ 
    "USER=User_Name;" & _ 
    "PASSWORD=Password;" & _ 
    "Option=3" 

端功能

+0

你一定有驅動程序安裝和註冊? – Brad

+0

我從MySQL網站下載並安裝了Connector/ODBC 5.2.6。我添加了一些對該項目的參考。我正在考慮這是問題,但不確定。我需要添加特定的參考還是其他的東西? – user1879262

+0

下載...並安裝?如果您通過Windows實用程序創建ODBC DSN,您可以連接嗎? ('C:\ Windows \ System32 \ odbcad32.exe'或'C:\ Windows \ SysWOW64 \ odbcad32.exe',取決於它是否是64位驅動程序) – Brad

回答

0

MySQL服務器正在運行5.0.96。不要安裝MySQL Connector/ODBC 5.2.6。該驅動程序不能從VBA向後兼容。如果你安裝和你有我也做了同樣的問題做如下:

1)首先刪除任何用戶&系統數據源已添加

2)卸載所有的ODBC 5.2驅動程序

3)已安裝的連接器/ ODBC 3.51.30。 (您可能需要重新啓動)

4)製作連接字符串> DRIVER = {MySQL ODBC 3.51 Driver};

希望能夠爲您節省大量時間。

-1

你可以寫設置oConn =的CreateObject( 「ADODB.Connection」)' NEW STATEMENT 而不是Set oConn = New ADODB.Connection

+1

這會造成什麼區別? –

0
Dim oConn As ADODB.Connection 
Dim Server_Name As String 
Dim User_Name As String 
Dim Password As String 
Dim Database_Name As String 

Server_Name = Sheets("_config").Range("B2").value 
User_Name = Sheets("_config").Range("B3").value 
Password = Sheets("_config").Range("B4").value 
Database_Name = Sheets("_config").Range("B5").value 

Set oConn = New ADODB.Connection 
oConn.Open "DRIVER={MySQL ODBC 5.0.96 Driver};" & _ 
"SERVER=" & Server_Name & ";" & _ 
"DATABASE=" & Database_Name & ";" & _ 
"USER=" & User_Name & ";" & _ 
"PASSWORD=" & Password & ";" & _ 
"Option=3" 

有可能是其他問題,您的驅動,但是當我測試你貼在我結束我的代碼得到了同樣的錯誤 - 它不會,除非你Concat的他們

編輯讀你的變量 - 我使用5.2a服務器 - 當我嘗試使用5.0.96連接時,我再次得到相同的錯誤,但當然在連接字符串中使用5.2a驅動程序可以正常工作。所以你可能需要專門下載5.0.96驅動。我做了一些搜索,並找不到它,我會繼續尋找一分鐘

+0

我認爲5.2是向後兼容5.0.96。但爲了排除這一點,我會搜索那個驅動程序。 – user1879262