问题说明

  前几天有用户反馈在他电脑上运行我们开发的程序报错,错误信息为“odbc连接失败,SQLSTATE=IM003,由于系统错误193:指定的驱动无法加载 odbcjt32.dll”。通过电话联系用户,询问用户是在做什么操作时出现的错误,最终分析发现出错的时机是程序连接本地access数据库的时候。用户电脑是64位的Win7系统,我们的系统是C#编写的x86格式的可执行程序。

处理过程

  通过在本人计算机及周围计算机上使用系统进行与用户相同的操作,都没有出现报错信息,因此分析出错原因可能与用户的计算机配置相关。

  首先先在网上搜索是否有类似问题的解决方法,最终在参考文献1-4中找到了一些建议。可能的原因是32位的可执行程序在64位操作系统上连接access数据库使用的odbc程序路径不对。可以在控制面板->管理工具->ODBC数据源的属性中重新设置odbcad32.exe的位置(下图是截取的win10系统中的图,仅参考用,win7系统中的ODBC数据源属性与该图类似),将该程序的位置指定为syswow64中的odbcad32.exe,不过这也只是可能的解决方法,需要到现场计算机中去测试是否能够解决问题。

  

DataDirect MongoDB ODBC驱动程序 odbc驱动失败_重做


  等到了用户的计算机上,还没有来得及应用上述解决方法,刚启动我们开发的系统,就发现用户计算机无法连接我们开发的系统的WebService服务,直接报WebService服务地址无法连接的错误。通过查看用户计算机的网络配置,发现用户计算机无法正常的从服务器端下载最新的设置,而造成这个问题的原因是用户计算机上的某些操作系统服务文件发生损坏,导致更新服务器设置所需的某些Windows服务无法启动。通过咨询计算机运维同事,给出的建议是需要重做操作系统。

  至此,就没有再接着找我们开发的系统出现的问题的原因了,因为无法更新服务器设置就要重做操作系统。重做之后用户再安装使用我们开发的系统就正常了。