2011-03-28 299 views
4

我創建一個宏從我的Excel工作表添加數據到我的MySQL數據庫錯誤VBA:`[微軟] [ODBC管理器]數據源名稱找不到和未指定默認驅動程序

但是當我運行宏我得到錯誤:

[Microsoft][ODBC Manager] Data source name not found and no default driver specified

代碼:

Sub UpdateMySQLDatabasePHP() 

' For detailed description visit http://www.vbaexcel.eu/ 

Dim Cn As ADODB.Connection 
Dim Server_Name As String 
Dim Database_Name As String 
Dim User_ID As String 
Dim Password As String 
Dim SQLStr As String 
Dim rs As ADODB.Recordset 
Set rs = New ADODB.Recordset 

Server_Name = Range("e4").Value    ' IP number or servername 
Database_Name = Range("e1").Value   ' Name of database 
User_ID = Range("h1").Value      'id user or username 
Password = Range("e3").Value     'Password 
Tabellen = Range("e2").Value      ' Name of table to write to 

rad = 0 
While Range("a6").Offset(rad, 0).Value <> tom 
TextStrang = tom 
kolumn = 0 
While Range("A5").Offset(0, kolumn).Value <> tom 
    If kolumn = 0 Then TextStrang = TextStrang & Cells(5, 1) & " = '" & Cells(6 + rad, 1) 
    If kolumn <> 0 Then TextStrang = TextStrang & "', " & Cells(5, 1 + kolumn) & " = '" & Cells(6 + rad, 1 + kolumn) 
    kolumn = kolumn + 1 
Wend 



TextStrang = TextStrang & "'" 
field2 = "cid" 
field1 = "bid" 
table1 = "MMbanner" 
SQLStr = "UPDATE " & Tabellen & " SET " & TextStrang & "WHERE " & Cells(5, 1) & " = '" & Cells(6 + rad, 1) & "'" 
Set Cn = New ADODB.Connection 
Cn.Open "Driver={MySQL ODBC 3.51 Driver};Server=" & Server_Name & ";Database=" & Database_Name & _ 
";Uid=" & User_ID & ";Pwd=" & Password & ";" 

Cn.Execute SQLStr 
rad = rad + 1 
Wend 
Set rs = Nothing 
Cn.Close 
Set Cn = Nothing 

End Sub 

回答

3

看起來好像療法e連接字符串有問題。你有沒有安裝mySQL odbc驅動程序?

我發現測試連接的最簡單方法是創建一個文本文件「New Text Document.txt」,並將文件擴展名重命名爲udl,以便最終生成「New Text Document.udl」,然後打開該文件。它應該向您展示Datalink proerties嚮導。然後您可以通過嚮導來創建和測試連接。獲取連接字符串。用記事本打開「.udl」文件或將擴展名改回「.txt」並用記事本打開。

+0

我是否需要單獨安裝MySQL ODBC驅動程序? – 2011-03-28 05:53:08

+0

安裝MySQL ODBC驅動程序爲我工作!非常感謝:) – 2011-03-28 06:24:21

+0

這給出了比Visual Studio方法更準確的連接字符串,謝謝! – puzzlepiece87 2015-09-22 20:29:42

相關問題