在我看过的示例(例如here和here)中,有一个MySQL ODBC 5.x Driver
形式的驱动程序。似乎在安装了最新的mysql connector / odbc download(32位,以匹配我的msexcel)之后,相关的注册表驱动程序文件HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Driver\
现在被命名为' SQL Server'和#SQL Server Native Client 11.0。'我没有成功建立与MySQL的连接。
Sub connect()
Dim Password As String
Dim SQLStr As String
Dim Server_Name As String
Dim User_ID As String
Dim Database_Name As String
Set rs = CreateObject("ADODB.Recordset") 'EBGen-Daily
Server_Name = "184.154.225.243"
Database_Name = "*******" ' Name of database
User_ID = "********" 'id user or username
Password = "*******" 'Password
Port = "3306"
SQLStr = "SELECT * FROM *******"
Set Cn = CreateObject("ADODB.Connection")
Cn.Open "Driver={SQL Server};Server=" & _
Server_Name & ";Port=" & Port & ";Database=" & Database_Name & _
";Uid=" & User_ID & ";Pwd=" & Password & ";"
rs.Open SQLStr, Cn, adOpenStatic
运行上述内容后,收到错误[Microsoft][ODBC SQL Server Drive][DBNETLIB]SQL Server does not exist or access denied
。本机客户端11.0'的错误司机是Could not open a connection to SQL Server[53].
我已经测试了MySQL工作台中的连接参数,并且一切正常。发生了什么事?
答案 0 :(得分:9)
Check if you are using the 32 bit or the 64 bit version of Microsoft Office
根据以上所述,从download link
完成ODBC驱动程序安装后,请检查ODBC管理单元以查看驱动程序是否已列为已安装。
如果您使用的是32位操作系统,那么一切都是32位。使用Run - > odbcad32.exe - >驱动程序选项卡。
如果您使用的是64位操作系统,而Microsoft Office是32位,则使用c:\ windows \ syswow64 \ odbcad32.exe - >驱动程序选项卡。
如果您使用的是64位操作系统,而Microsoft Office是64位,则使用Run - > odbcad32.exe - >驱动程序选项卡。
如果正确安装了MySQL驱动程序,它们应如上所示
Create a System DSN使用ODBC snap in和上面列出的MySQL驱动程序并测试连接以查看它是否有效。
尝试从VBA中创建ODBC时,请使用相同的参数。
示例:
Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Database=myDataBase;
User=myUsername;Password=myPassword;Option=3;
SQL Server
。请记住:在用于x32位驱动程序的x64位系统上:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers
更改驱动程序名称后可能需要重新启动。