excel vba mysql ado连接

时间:2015-04-19 22:13:43

标签: mysql excel vba ado

我试图在我的本地计算机上的excel和我服务器上的MySQL数据库之间建立ADO连接。

在我看过的示例(例如herehere)中,有一个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的连接。

我的VBA

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工作台中的连接参数,并且一切正常。发生了什么事?

1 个答案:

答案 0 :(得分:9)

  1. Check if you are using the 32 bit or the 64 bit version of Microsoft Office

  2. 根据以上所述,从download link

  3. 下载并安装相应的MySQL驱动程序
  4. 完成ODBC驱动程序安装后,请检查ODBC管理单元以查看驱动程序是否已列为已安装。

  5. 如果您使用的是32位操作系统,那么一切都是32位。使用Run - > odbcad32.exe - >驱动程序选项卡。

    如果您使用的是64位操作系统,而Microsoft Office是32位,则使用c:\​​ windows \ syswow64 \ odbcad32.exe - >驱动程序选项卡。

    如果您使用的是64位操作系统,而Microsoft Office是64位,则使用Run - > odbcad32.exe - >驱动程序选项卡。

    ODBC Drivers

    如果正确安装了MySQL驱动程序,它们应如上所示

    1. Create a System DSN使用ODBC snap in和上面列出的MySQL驱动程序并测试连接以查看它是否有效。

    2. 尝试从VBA中创建ODBC时,请使用相同的参数。

    3. 示例:

      Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Database=myDataBase;
      User=myUsername;Password=myPassword;Option=3;
      
      1. 一旦确定您可以成功创建与MySQL服务器的连接,然后change the driver name in the registry (make sure to update both the registry keys)并尝试使用您提供的新名称,例如SQL Server
      2. 请记住:在用于x32位驱动程序的x64位系统上:

        HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers
        

        更改驱动程序名称后可能需要重新启动。