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

Excel VBA向PostgreSQL传数据报ODBC驱动错误,配置数据源仍无效求解决

解决Excel VBA连接PostgreSQL时的ODBC驱动错误

可能的原因及解决步骤

1. 检查Excel与ODBC驱动的位数匹配

  • 打开Excel,点击「文件」→「账户」→「关于Excel」,确认Excel是32位还是64位。
  • 必须安装同位数的PostgreSQL ODBC驱动:
    • 若为32位Excel,即使系统是64位,也要安装32位驱动,且需通过C:\Windows\SysWOW64\odbcad32.exe打开ODBC数据源管理器配置(别用控制面板默认的64位管理器)。
    • 若为64位Excel,安装64位驱动,通过C:\Windows\System32\odbcad32.exe配置数据源。

2. 修正连接字符串的驱动名称

  • 打开对应位数的ODBC数据源管理器,切换到「驱动程序」标签,复制PostgreSQL驱动的精确名称(比如可能是PostgreSQL ANSI(x64)或PostgreSQL ODBC Driver(ANSI))。
  • 将VBA代码中连接字符串的DRIVER={...}部分替换为该精确名称,示例:
    Conexao.ConnectionString = "DRIVER={PostgreSQL ANSI(x64)}; SERVER=localhost; DATABASE=yyyy; UID=marcel; PASSWORD=xxx;"
    

3. 改用已配置的DSN连接(更可靠)

既然你已在ODBC管理器中配置了测试成功的数据源,可直接用DSN连接字符串替代手动指定驱动,避免名称错误:

Sub Conectar_BD()
    Dim Conexao As ADODB.Connection
    Set Conexao = New ADODB.Connection
    ' 替换为你配置的DSN名称
    Conexao.ConnectionString = "DSN=你的DSN名称;UID=marcel;PASSWORD=xxx;"
    Conexao.Open
End Sub

4. 重新安装驱动(若上述步骤无效)

  • 卸载现有PostgreSQL ODBC驱动,下载对应位数的官方驱动重新安装(注意区分ANSI和Unicode版本,二者名称不同)。
  • 安装完成后,再次打开对应位数的ODBC管理器,确认驱动已出现在列表中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 09:53:01