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

1. 今天下午修改很早做的一个系统,用的是JDBC-ODBC驱动。

在我本机Tomcat做测试,发现使用startup.bat启动Tomcat服务后,访问Web服务一切正常。

但使用Monitor Tomcat 启动Tomcat作为服务例程,则访问Web服务报错:

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

2. 但ODBC数据源配置时测试也正常。

我晕。

3. 跟踪排查一下,发现是在 DriverManager.getConnection()的时候报错的。

可能还是ODBC的问题。

但不知道是咋回事了。

4. 上网查了N久,一语道破“要用系统DSN”。

关于这点还真没有想到。

5. 一直使用“用户DSN”建立“用户数据源”的。

DSN:Date Source Name,数据源名称。

6. 在“ODBC数据源管理器”中,设置用于连接数据库的DSN有三种: 用户DSN、系统DSN和文件DSN。

因为Monitor Tomcat启动的Tomcat服务是作为系统级NT服务例程运行的,这样就无法访问“用户DSN”建立的“用户数据源”。

7. 果然,建立了“系统数据源”就OK了。

^_^

原文链接:,转发请注明来源落伍老站长!

发表评论