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

时间:2018-10-21 14:43:41

标签: mysql scala amazon-web-services 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指定了数据库。你能帮我吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

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

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

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