0

我正在尝试使用 slick 在文件上创建 H2 数据库,并使用 SQL Workbench/J 打开该文件以进行进一步的查询处理。我在 IntelliJ 项目中使用下面的文件,它似乎成功地创建了一个 t.mv.db 文件和一个 M 表。然而,在尝试在 SQL Workbench/JI 中连接到它之后,得到这些错误(现在要调查它们):

TABLE()

Syntax error in SQL statement "TABLE[*]()"; expected "TRUNCATE, {"; SQL statement:
TABLE() [42001-191] [SQL State=42001, DB Errorcode=42001]

SELECT * FROM M

Table "M" not found; SQL statement:
SELECT * FROM M [42102-191] [SQL State=42S02, DB Errorcode=42102]my 

有人可以帮我创建一个可以用 SQL Workbench/J 打开的持久 H2 数据库文件吗?

主要的斯卡拉文件:

import slick.driver.H2Driver.api._
import scala.concurrent.Await
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global

final case class Message(sender:String, content:String)

final class MessageTable(tag: Tag) extends Table[Message](tag, "M") {

  def id = column[Long]("id", O.PrimaryKey, O.AutoInc)

  def sender = column[String]("sender")

  def content = column[String]("content")

  def * = (sender, content) <>(Message.tupled, Message.unapply)
}

object Curator {
  def main(args: Array[String]) {
    final case class Message(sender: String, content: String)
    val db = Database.forConfig("h2file")
    lazy val messages = TableQuery[MessageTable]
    Await.ready(db.run(messages.schema.create),2 seconds)
    db.close()
  }
}

我的应用程序.conf:

h2file = {
  connectionPool        = disabled
  url                   = "jdbc:h2:~/scala/workspace/Curator/t"
  driver                = "org.h2.Driver"
  keepAliveConnection = true
}

我的 build.sbt:

name := "Curator"

version := "1.0"

scalaVersion := "2.11.8"

libraryDependencies ++= Seq(
  "com.typesafe.slick" %% "slick"           % "3.1.0",
  "com.h2database"      % "h2"              % "1.4.185",
  "ch.qos.logback"      % "logback-classic" % "1.1.2"
)

SQL Workbench/J 设置:

Driver: H2 Database Engine (org.h2.Driver)
URL: jdbc:h2:~/scala/workspace/Curator/t"

我还使用“管理驱动程序”链接到下载的 h2-latest.jar

4

0 回答 0