我正在使用 Scala,Play,JDBC 在网络应用中动态创建数据库连接(除了默认连接之外的辅助连接)。
一切正常,我使用 Class.forName 加载驱动程序,但是有一个小而奇怪的问题 - 当重新编译包含连接相关代码的scala文件时,在Web的下一个请求中抛出异常,无法找到该驱动程序文件。播放服务器重启可以解决这个问题,一切正常,直到下次编辑Scala文件为止。编译。
只有在编辑和编译文件时才会发生这种情况,当app正在运行连接时工作正常。这不是一个主要问题,只是一种奇怪的行为。
感谢。
答案 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)
无需像这样加载驱动程序
Class.forName("Driver")
这是java代码,在eclipse scala中只需打开 conf / application.conf 文件并设置默认驱动程序... 像这样
db.default.driver="com.mysql.jdbc.Driver"
db.default1.driver="com.mysql.jdbc.Driver"