MS Access通过ODBC DSN打开ADODB记录集提示数据源未找到错误排查
核心结论
该报错是本地ODBC驱动管理器层面抛出的错误,和SQL Server端的配置没有关联,SQL Server不存在会触发该错误的配置项,问题完全来自新开发设备的本地环境配置差异。
可能的环境差异原因
- ODBC DSN位数不匹配
新设备预装的Office 365大概率是64位版本,而你创建的DSN如果和Office位数不匹配,就会出现找不到数据源的报错:- 32位ODBC数据源管理器路径:
C:\Windows\SysWOW64\odbcad32.exe - 64位ODBC数据源管理器路径:
C:\Windows\System32\odbcad32.exe
Access链接表和ADODB调用对DSN的位数要求完全一致,你当前出现“链接表正常但ADODB连接报错”,大概率是两个场景用的DSN位数不一致,需要确保你创建的VROMDSN位数和当前运行的Access程序位数完全匹配。
- 32位ODBC数据源管理器路径:
- 连接字符串前缀冗余
你当前使用的连接字符串带的ODBC;前缀是Access链接表的标准配置前缀,但ADODB连接ODBC数据源时不需要加这个前缀,多余前缀会导致驱动管理器无法正确解析连接参数。你可以将连接字符串修改为以下格式再测试:DSN=VROM;Trusted_Connection=Yes;APP=2019 Microsoft Office system;DATABASE=VROM1 - DSN类型配置错误
如果你创建的是用户DSN,而运行Access程序的Windows账号和你创建DSN的账号不是同一个,就会找不到DSN配置;建议直接创建系统DSN,确保所有本地用户都能正常读取到DSN配置。 - ADODB引用版本不兼容
检查新设备Access的VBA引用中,Microsoft ActiveX Data Objects库的版本和旧开发机上的版本是否一致,版本不兼容也可能导致连接字符串解析异常。
内容的提问来源于stack exchange,提问作者DougM
相关产品推荐
相关产品推荐

