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

Office365 64位VBA连接IBM AS400适配提供程序咨询

故障原因

原连接字符串使用的IBMDA400.DataSource.1是IBM i 连接组件提供的32位OLE DB提供程序。64位版本的Office进程只能加载同架构(64位)的OLE DB/ODBC驱动,原有32位IBM驱动无法被64位Office识别,因此触发「找不到提供程序」错误。

64位环境可用的提供程序方案
  • 方案1:使用64位原生IBM OLE DB提供程序(兼容性最优)
    卸载原有32位旧版IBM i Access/Client Access组件,安装64位版本的IBM i Access Client Solutions(ACS) Windows应用包,安装时勾选OLE DB Provider组件。安装完成后无需修改原有连接字符串的Provider字段,保持Provider=IBMDA400.DataSource.1即可正常连接,和原32位环境的代码逻辑完全兼容。
  • 方案2:MSDASQL桥接64位ODBC驱动(备选)
    如果已安装64位版本的IBM i Access ODBC驱动,可使用Windows自带的OLE DB-ODBC桥接提供程序连接,修改后的连接字符串示例如下:
    str_400Connect = "Provider=MSDASQL;Driver={IBM i Access ODBC Driver};System=" & Trim(aDSN) & ";Database=SYS01;Uid=" & Trim(aUID) & ";Pwd=" & Trim(aPassword) & ";"
    
    使用该方案前需确认:在64位ODBC数据源管理器(路径为C:\Windows\System32\odbcad32.exe)的「驱动」页签中,能看到已安装的IBM i Access ODBC Driver条目。
注意事项
  • 64位Windows系统下64位进程无法加载32位DLL组件,不存在直接让64位Office识别32位IBM驱动的兼容绕过方法。
  • 若设备上同时存在32位、64位需要连接IBM i的程序,可并行安装32位、64位版本的ACS应用包,两个版本互不冲突,分别为对应架构的进程提供驱动支持。
  • 版本号低于7.1的旧版IBM Client Access组件没有官方64位发行版,无法在64位Office环境下使用,必须升级到新版ACS组件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:36:20