java.sql.SQLException:[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序

环境:jdk1.7 32位+tomcat7 32位+odbc数据源32位+webservice服务端、客户端
事情的起因是:我把webservice服务端文件放到tomcat,在客户端调用时,却获取不到数据,但是通过本地idea运行服务端程序时,客户端是可以获取到数据的,通过查看tomcat的log日志,发现如下的报错:
java.sql.SQLException:[Microsoft][ODBC驱动程序管理器]未发现数据源名称并且未指定默认驱动程序

这是由于没有找到我在程序中写的odbc数据源名称,
这是因为我在添加odbc数据源的时候,只在用户DSN添加了数据源,没有在系统DSN添加书数据源,造成上面的异常,由于我的odbc数据源为32位,位置在C:\Windows\SysWOW64\odbcad32.exe,打开后在系统DSN界面添加数据源即可。根据网络上的解释: 在控制面板-管理工具–数据源中设置ODBC数据源,在设置ODBC数据源时,要添加“系统DSN”,不要添加“用户DSN”,因为添加“用户DSN”,只能在本机使用,当把程序移植到其它计算机时,程序就无法正常运行。
在系统DSN中添加完odbc数据源后,webService就可以正常获取到数据额

你可能感兴趣的:(odbc)