在我所看到的示例中(例如,在这里和这里),有一个驱动程序是form MySQL ODBC 5.x Driver
。看来,在安装最新的mysql连接器/ odbc下载(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
运行以上命令后,我收到error [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工作台中测试了连接参数,并且所有参数均正常运行。这是怎么回事?
基于以上内容,从下载链接下载并安装适当的MySQL驱动程序
ODBC驱动程序安装完成后,请检查ODBC管理单元以查看驱动程序已列出为已安装。
如果您使用的是32位操作系统,则所有内容均为32位。使用运行-> odbcad32.exe->驱动程序选项卡。
如果您使用的是64位操作系统,而Microsoft Office是32位,则使用c:\ windows \ syswow64 \ odbcad32.exe->“驱动程序”选项卡。
如果您使用的是64位操作系统,而Microsoft Office是64位,则使用运行-> odbcad32.exe->驱动程序选项卡。
如果正确安装了MySQL驱动程序,则它们应如上图所示
使用带有上面列出的MySQL驱动程序的ODBC管理单元创建系统DSN,并测试连接以查看其是否有效。
当您尝试从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
更改驱动程序名称后,可能需要重新启动。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句