使用Java连接到Oracle DSN时出错

时间:2009-08-25 13:24:46

标签: java eclipse jdbc odbc

我需要开发一个使用Microsoft ODBC驱动程序连接到各种DSN的应用程序。我在Eclipse中开发了应用程序,它似乎正常工作。连接成功,我可以查看表数据。

但是,当我将项目导出到可运行的jar文件(使用Eclipse)时,Oracle的功能失败了。它无法与Oracle连接字符串建立连接。它仍然适用于SQL服务器,但在Oracle的情况下失败。我无法找出原因,因为Oracle和SQL-Server都使用相同的ODBC驱动程序。更神秘的是它在Eclipse上运行正常。由于我使用ODBC驱动程序,我不相信这个问题是因为外部jar文件。

驱动程序为sun.jdbc.odbc.JdbcOdbcDriver,连接字符串类似于jdbc:odbc:oratest;user=fell;password=pass

我收到以下异常

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
    at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6958)

你能帮我解决一下这个问题吗?

提前致谢, 跌

2 个答案:

答案 0 :(得分:2)

创建系统DSN。

java.sql.Connection cn;
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
cn=java.sql.DriverManager.getConnection("jdbc:odbc:dsn_name","user","pass");

答案 1 :(得分:0)

检查eclipse项目中的类路径