import scala.slick.driver.H2Driver
import scala.slick.jdbc.StaticQuery
object Main extends App {
val db = H2Driver.simple.Database forURL (url = s"jdbc:h2:mem:test", user = "sa", driver = "org.h2.Driver")
StaticQuery updateNA "shutdown;" execute db.createSession()
}
使用scala 2.11.5,h2 1.4.186和slick 2.1.0执行此操作会产生" org.h2.jdbc.JdbcSQLException:数据库已关闭"。这里发生了什么?
答案 0 :(得分:0)
执行"关闭"准备好的语句,光滑的StatementInvoker向数据库询问语句的updateCount。
H2数据库不喜欢被问到这个因为它已经关闭了。
我不知道两者中的哪一个行为不正确。但是,如果碰巧遇到同样的问题,关闭数据库只需使用
db.createSession()。createStatement()execute" shutdown;"