You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VBA连接MariaDB失败求助:已装驱动仍提示数据源未找到

MariaDB ODBC连接错误"Data source not found and no default driver specified"解决思路
  • 确认ODBC驱动的正确名称
    打开ODBC数据源管理器(注意区分32位和64位,对应你的Office位数),查看已安装的MariaDB驱动的准确名称,确保连接字符串里的{MariaDB ODBC 3.1 Driver}和实际名称完全一致——比如实际可能是{MariaDB ODBC Driver 3.1},或者版本号已更新到4.0,名称会对应变化。
    管理器路径:32位为C:\Windows\SysWOW64\odbcad32.exe,64位为C:\Windows\System32\odbcad32.exe。

  • 匹配Office与驱动的位数
    这是最常见的踩坑点:如果你的Excel是32位,即使装了64位的MariaDB ODBC驱动,系统也无法识别。必须安装和Office位数完全一致的驱动。
    查看Office位数:打开Excel,依次点「文件」→「账户」→「关于Excel」即可查看。

  • 手动验证ODBC数据源配置
    在ODBC数据源管理器里创建一个系统DSN,选择MariaDB驱动,填入服务器地址、数据库名、用户名和密码,点击「测试连接」。如果测试成功,直接把连接字符串改成DSN=你的DSN名称;USER=prod1;PASSWORD=12345;,能快速排除连接字符串的语法问题。

  • 检查连接字符串的语法细节
    确保参数拼写正确(比如SERVER、DATABASE这些关键词不能写错),每个参数后面的分号不能遗漏,密码如果包含特殊字符需要转义(你的密码是12345,暂时不用考虑)。也可以尝试把连接字符串写成一行,避免换行拼接时产生隐藏字符。

修改后的示例代码

Sub ConnectToMariaDB()
    Dim conn As ADODB.Connection
    Dim connectionString As String
    
    Set conn = New ADODB.Connection
    
    ' 替换为你实际的驱动名称
    connectionString = "DRIVER={MariaDB ODBC Driver 3.1};" _
        & "SERVER=10.0.0.10;" _
        & "DATABASE=Customers;" _
        & "USER=prod1;" _
        & "PASSWORD=12345;"
    
    ' 或者用已配置的DSN(测试连接成功后使用)
    ' connectionString = "DSN=MyMariaDB;" _
    '     & "USER=prod1;" _
    '     & "PASSWORD=12345;"
    
    On Error GoTo ConnectionError
    conn.Open connectionString
    MsgBox "连接成功!"
    conn.Close
    Exit Sub
    
ConnectionError:
    MsgBox "连接失败:" & Err.Description
End Sub

内容的提问来源于stack exchange,提问作者niall flynn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 15:06:27