excel vba mysql 废话少说
excel vba mysql ado connection
我正在尝试在本地计算机上的 excel 和服务器上的 MySQL 数据库之间建立 ADO 连接。
在我看到的示例中(here and here, for instance) there's a driver of the form MySQL ODBC 5.x Driver
. It seems that after installing the latest 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
。 'native client 11.0' 驱动程序的错误是 Could not open a connection to SQL Server[53].
我已经测试了 MySQL workbench 中的连接参数,一切正常。怎么回事?
Check if you are using the 32 bit or the 64 bit version of Microsoft Office.
基于以上,从download link
下载并安装合适的MySQL驱动
ODBC 驱动程序安装完成后,检查 ODBC 管理单元以查看驱动程序是否已安装。
如果您使用的是 32 位 OS,那么一切都是 32 位的。使用 运行 -> odbcad32.exe -> 驱动程序选项卡。
如果您使用的是 64 位 OS,而 Microsoft Office 是 32 位,则使用 c:\windows\syswow64\odbcad32.exe -> 驱动程序选项卡。
如果您使用的是 64 位 OS,而 Microsoft Office 是 64 位,则使用 运行 -> odbcad32.exe -> 驱动程序选项卡。
如果 MySQL 驱动程序安装正确,它们应该如上图所示
Create a System DSN 将 ODBC 管理单元与上面列出的 MySQL 驱动程序结合使用,并测试连接是否有效。
尝试从 VBA 中创建 ODBC 时使用相同的参数。
示例:
Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Database=myDataBase;
User=myUsername;Password=myPassword;Option=3;
- 一旦确定您可以成功创建到 MySQL 服务器的连接,然后 change the driver name in the registry (make sure to update both the registry keys) 并尝试使用您提供的新名称,例如
SQL Server
.
记住:对于 x32 位驱动程序的 x64 位系统:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers
更改驱动程序名称后可能需要重新启动。
我正在尝试在本地计算机上的 excel 和服务器上的 MySQL 数据库之间建立 ADO 连接。
在我看到的示例中(here and here, for instance) there's a driver of the form MySQL ODBC 5.x Driver
. It seems that after installing the latest 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
。 'native client 11.0' 驱动程序的错误是 Could not open a connection to SQL Server[53].
我已经测试了 MySQL workbench 中的连接参数,一切正常。怎么回事?
Check if you are using the 32 bit or the 64 bit version of Microsoft Office.
基于以上,从download link
下载并安装合适的MySQL驱动
ODBC 驱动程序安装完成后,检查 ODBC 管理单元以查看驱动程序是否已安装。
如果您使用的是 32 位 OS,那么一切都是 32 位的。使用 运行 -> odbcad32.exe -> 驱动程序选项卡。
如果您使用的是 64 位 OS,而 Microsoft Office 是 32 位,则使用 c:\windows\syswow64\odbcad32.exe -> 驱动程序选项卡。
如果您使用的是 64 位 OS,而 Microsoft Office 是 64 位,则使用 运行 -> odbcad32.exe -> 驱动程序选项卡。
如果 MySQL 驱动程序安装正确,它们应该如上图所示
Create a System DSN 将 ODBC 管理单元与上面列出的 MySQL 驱动程序结合使用,并测试连接是否有效。
尝试从 VBA 中创建 ODBC 时使用相同的参数。
示例:
Driver={MySQL ODBC 5.3 ANSI Driver};Server=localhost;Database=myDataBase;
User=myUsername;Password=myPassword;Option=3;
- 一旦确定您可以成功创建到 MySQL 服务器的连接,然后 change the driver name in the registry (make sure to update both the registry keys) 并尝试使用您提供的新名称,例如
SQL Server
.
记住:对于 x32 位驱动程序的 x64 位系统:
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBCINST.INI\ODBC Drivers
更改驱动程序名称后可能需要重新启动。