Access VBA调用SQL Server存储过程时遇ODBC驱动未找到错误
解决Access VBA调用SQL Server存储过程时的ODBC驱动错误
检查连接字符串的驱动版本与Access位数匹配
32位Access必须搭配32位ODBC驱动,64位Access用64位驱动。如果你的连接字符串用的是旧版Driver={SQL Server},建议替换为更兼容的通用驱动,比如Driver={ODBC Driver 17 for SQL Server},同时确认驱动版本和Access位数一致。验证对应位数的ODBC数据源配置
打开对应位数的ODBC管理器:- 32位Access:运行
C:\Windows\SysWOW64\odbcad32.exe - 64位Access:运行
C:\Windows\System32\odbcad32.exe
在管理器中检查SQL Server驱动是否存在,手动测试数据源连接是否正常,排除驱动缺失问题。
- 32位Access:运行
确认连接对象初始化无异常
即使其他地方连接正常,也要检查当前调用存储过程的代码里,连接对象的创建和连接字符串是否正确。可以在con.Open前添加调试代码输出连接字符串,确认和正常使用的部分完全一致:Debug.Print con.ConnectionString ' 输出到立即窗口验证 con.Open排查是否存在变量名写错、连接字符串被意外修改的情况。
排查系统环境变更
由于此前运行稳定,错误大概率是近期系统环境变化导致:比如ODBC驱动被卸载/更新、Access版本变更、系统补丁影响。可以尝试重新安装对应位数的ODBC驱动(如ODBC Driver 17 for SQL Server),修复驱动缺失问题。
内容的提问来源于stack exchange,提问作者David Britz
相关产品推荐
相关产品推荐

