Excel VBA宏连接AS400报错:找不到IBMDA400提供程序
Excel VBA连接AS400提示「找不到提供程序」的解决方法
问题描述
我需要通过Excel VBA宏连接AS400,使用的连接字符串如下:
strCon = "PROVIDER=IBMDA400;DATA SOURCE= xxxxx" & "; USER ID=" & UserId & "; PASSWORD=" & pwd con.Open strCon但运行时出现「找不到提供程序」的错误,请问需对宏做额外配置还是连接字符串有误?
解决步骤
- 安装匹配的ODBC驱动:
IBMDA400是IBM i Access ODBC驱动的Provider标识,必须在本地安装对应版本的驱动。注意要和Excel的位数完全匹配:32位Excel装32位驱动,64位Excel装64位驱动。可通过「控制面板→ODBC数据源」查看系统DSN列表,确认是否存在IBM i Access相关驱动。 - 修正连接字符串格式:你的代码中
DATA SOURCE= xxxxx存在多余空格,需去掉等号后的空格,改为DATA SOURCE=xxxxx,避免数据源地址识别失败。 - 替换Provider名称尝试:部分环境下
IBMDA400可能不兼容,可尝试将Provider改为IBMDASQL后重新测试连接。 - 检查VBA引用:打开VBA编辑器(快捷键Alt+F11),点击「工具→引用」,确保勾选了「Microsoft ActiveX Data Objects x.x Library」(推荐选择最新版本如6.1),这是ADO连接必须的依赖库。
内容的提问来源于stack exchange,提问作者VJ4Testing
相关产品推荐
相关产品推荐

