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



我刚刚创建了我的第一个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"

最新更新