使用 Slick 从 Scala 连接到 AWS MySQL 数据库

Connecting to an AWS MySQL Database from Scala with Slick

我刚刚创建了我的第一个 AWS MySQL 数据库,并想使用 Slick 从我的 scala 应用程序连接到它。

我的配置文件显示:

awsMySQL = {
profile = "slick.jdbc.MySQLProfile$"
dataSourceClass = "slick.jdbc.DatabaseUrlDataSource"
  properties = {
    url = "jdbc:mysql://<databaseName>.cn17tbad2awy.eu-central-1.rds.amazonaws.com"
    user = "foo"
    password = "bar"
   driver = com.mysql.cj.jdbc.Driver
  }
connectionPool = disabled
keepAliveConnection = true
}

我只是定义了一个查询来接收我所有的客户,但是在执行这段代码时我收到了一个 SQLException:没有选择数据库。

val db = Database.forConfig("awsMySQL")

val CustomersDAO = TableQuery[Customers]
val q1 = for (c <- CustomersDAO) yield c.name
val a = q1.result
val f = db.run(a)

Await.result(f, Duration.Inf)

我不是很理解这个异常,因为从我的角度来看是由url指定的数据库。你能帮帮我吗

提前致谢。

我认为您指向 MySQL 服务所在的主机 运行 而不是数据库本身

尝试将 url = "jdbc:mysql://<databaseName>.cn17tbad2awy.eu-central-1.rds.amazonaws.com" 替换为类似以下内容:

url = "jdbc:mysql://<databaseName>.cn17tbad2awy.eu-central-1.rds.amazonaws.com/DBSCHEMA"