Scala + JDBC =编译后找不到驱动程序

时间:2014-04-29 08:05:43

标签: java scala jdbc playframework-2.0

我正在使用 Scala,Play,JDBC 在网络应用中动态创建数据库连接(除了默认连接之外的辅助连接)。

一切正常,我使用 Class.forName 加载驱动程序,但是有一个小而奇怪的问题 - 当重新编译包含连接相关代码的scala文件时,在Web的下一个请求中抛出异常,无法找到该驱动程序文件。播放服务器重启可以解决这个问题,一切正常,直到下次编辑Scala文件为止。编译。

只有在编辑和编译文件时才会发生这种情况,当app正在运行连接时工作正常。这不是一个主要问题,只是一种奇怪的行为。

感谢。

3 个答案:

答案 0 :(得分:1)

使用scalikeJDBC这是一个scala,如JDBC CONNECTION LIBRARY http://scalikeJDBC.org文档很好

答案 1 :(得分:1)

我遇到了sqlite的麻烦,这是我的解决方案

try {
  DriverManager.registerDriver(new org.sqlite.JDBC)
} catch {
  case e: Exception => //Log your error
}

我从This bug

得到了这个想法

当播放关闭重新编译时没有注册jdbc驱动程序,但是自动加载驱动程序的机制发生在java启动而不是应用程序启动。希望这会有所帮助。

答案 2 :(得分:0)

scala中的

无需像这样加载驱动程序

Class.forName("Driver")

这是java代码,在eclipse scala中只需打开 conf / application.conf 文件并设置默认驱动程序... 像这样

db.default.driver="com.mysql.jdbc.Driver"
db.default1.driver="com.mysql.jdbc.Driver"