如何将MySQL中的数据插入/选择到Excel/VBA?

如何将MySQL中的数据插入/选择到Excel/VBA?,mysql,excel,vba,Mysql,Excel,Vba,我正在尝试将数据从MySQL提取到Excel。我看了很多教程,但我总是犯同样的错误 这是我的密码: 副领事馆() Dim conn作为新的ADODB连接 Dim服务器名称为字符串 Dim数据库名称为字符串 将用户id设置为字符串 将密码设置为字符串 我想我会坚持多久 作为字符串的Dim sqlstr 将表1变暗为字符串,将表2变暗为字符串 Dim字段1作为字符串,字段2作为字符串 将rs设置为ADODB.Recordset Dim vtype作为变体 服务器名称=“本地主机” 数据库\u nam

我正在尝试将数据从MySQL提取到Excel。我看了很多教程,但我总是犯同样的错误

这是我的密码:

副领事馆()
Dim conn作为新的ADODB连接
Dim服务器名称为字符串
Dim数据库名称为字符串
将用户id设置为字符串
将密码设置为字符串
我想我会坚持多久
作为字符串的Dim sqlstr
将表1变暗为字符串,将表2变暗为字符串
Dim字段1作为字符串,字段2作为字符串
将rs设置为ADODB.Recordset
Dim vtype作为变体
服务器名称=“本地主机”
数据库\u name=“controle\u fin”
用户\u id=“root”
password=“userpassword”
Set conn=新的ADODB.连接
连接打开“驱动程序={MySQL ODBC 3.51驱动程序}”_
&“SERVER=”服务器名称(&U)_
&“DATABASE=“&DATABASE\u名称”_
&“UID=”用户id(&U)_
&“PWD=”&密码_
&“选项=16427”
表1=“classe”
GoTo skipextract
Set rs=New ADODB.Recordset
sqlstr=“选择*自”&表1
rs.开放式sqlstr、conn、adOpenStatic
平面1.范围(“A1”).从记录集复制
skipextract:
出错时继续下一步
rs.Close
设置rs=无
关闭连接
设置连接=无
错误转到0
端接头
我得到的错误:

“ODBC错误。找不到数据源名称,也未指定默认驱动程序”


通常,此错误是由以下原因造成的:

  • 简单拼写错误:ODBC驱动程序名称必须拼写正确,并且完全包含特殊字符。要查看所有ODBC驱动程序,请打开PowerShell窗口并键入:
    Get OdbcDriver | Format Table name,platform-AutoSize
    ,以输出类似于以下内容的表格:

    name                                                   platform
    ----                                                   --------
    Microsoft Access Driver (*.mdb)                        32-bit
    Microsoft dBase Driver (*.dbf)                         32-bit
    Microsoft Excel Driver (*.xls)                         32-bit
    Microsoft ODBC for Oracle                              32-bit
    SQL Server                                             32-bit
    SQL Server Native Client 11.0                          32-bit
    ODBC Driver 13 for SQL Server                          32-bit
    SQL Server                                             64-bit
    Microsoft Access Driver (*.mdb, *.accdb)               64-bit
    Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb) 64-bit
    Microsoft Access Text Driver (*.txt, *.csv)            64-bit
    SQL Server Native Client 11.0                          64-bit
    PostgreSQL ANSI(x64)                                   64-bit
    PostgreSQL Unicode(x64)                                64-bit
    ODBC Driver 13 for SQL Server                          64-bit
    Microsoft Access dBASE Driver (*.dbf, *.ndx, *.mdx)    64-bit
    ...
    
  • 不兼容的32/64位体系结构:连接到的任何ODBC驱动程序都必须与MS Office版本保持相同的位体系结构。如果运行32位Office,则只有32位驱动程序可用(在步骤1输出中的平台下指示)。64位也是如此。要验证您在Windows和Mac上安装的Office bit版本,请参阅

  • 权限问题:驱动程序可用时,当前用户或组在文件和/或文件夹级别可能无法访问这些驱动程序。在*Unix系统(Linux/Mac)上,这往往是一个更大的问题,而不是需要
    chmod
    chown
    处理的Windows。对于Windows,在资源管理器中调整文件或文件夹的属性以获得读/写/执行权限


  • 您是从mysql转到excel还是viceversa?title说问题的反面是
    .open
    行上的错误?现在来看,是否需要指定驱动程序?是否确定数据库正在运行?1。不确定“localhost”是否能正确解析。将其替换为127.0.0.1(或您的本地主机ip设置),以便至少进行测试。2.确保已安装MySQL ODBC 3.51。相信您可以通过启动->ODBC连接并点击NEW来快速检查这一点。查看它是否在该列表中。为什么在执行连接和SQL语句之前要执行
    GoTo skipextract
    ?这并没有解决OP的问题,只是一个观察。