错误VBA:`[微软] [ODBC管理器]数据源名称找不到和未指定默认驱动程序
问题描述:
我创建一个宏从我的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
答
看起来好像疗法e连接字符串有问题。你有没有安装mySQL odbc驱动程序?
我发现测试连接的最简单方法是创建一个文本文件“New Text Document.txt”,并将文件扩展名重命名为udl,以便最终生成“New Text Document.udl”,然后打开该文件。它应该向您展示Datalink proerties向导。然后您可以通过向导来创建和测试连接。获取连接字符串。用记事本打开“.udl”文件或将扩展名改回“.txt”并用记事本打开。
我是否需要单独安装MySQL ODBC驱动程序? – 2011-03-28 05:53:08
安装MySQL ODBC驱动程序为我工作!非常感谢:) – 2011-03-28 06:24:21
这给出了比Visual Studio方法更准确的连接字符串,谢谢! – puzzlepiece87 2015-09-22 20:29:42