0

我正在尝试从使用 play framework 2.0.4 编写的应用程序建立与 oracle 数据库的连接,并在打开连接时收到 SQLException(没有为 jdbc:oracle:thin:@....找到合适的驱动程序)。

我正在使用可以独立运行的代码,并且异常中的连接字符串也可以(甚至在“执行查询”中对其进行了测试并且可以正常工作)。

Play 甚至可以找到我的驱动程序,因为我的代码开头有这个语句,如果该类丢失,它将引发 NoClassDefFound 异常:

Class.forName("oracle.jdbc.driver.OracleDriver");

我的 lib 目录中的 oracle 驱动程序与我在示例应用程序 ExecuteQuery、JBoss 等中使用的相同。

我究竟做错了什么?

这是我的代码中的另一个片段:

String connectionString = "jdbc:oracle:thin:@" + url + ":" + port + ":" + sid;
Connection conn = DriverManager.getConnection(connectionString, user, password);

PS:我想以这种方式访问​​的数据库不是我存储应用程序数据的主数据库,而只是一个外部只读数据源......

感谢您的任何提示

编辑:问题现在已解决,但我不知道如何:\我只是运行我的代码以再次阅读错误消息,但我不再收到任何错误。我唯一的想法是,上周当我没有让它工作时,我没有重新启动游戏控制台,而只有我的应用程序!?!也许这就是原因?!

Edit2:在不改变我的设置的情况下仍然会不时发生,但是一旦我重新启动我的应用程序,它就会再次工作:)

4

1 回答 1

0

如果加载了驱动程序,则 url 一定是不正确的。您是否尝试打印连接字符串以检查它是否正确?

它应该看起来像“jdbc:oracle:thin:@//localhost:1521/mydb”

于 2012-12-10T12:57:21.603 回答