无法使用驱动程序连接到 Redshift 数据库,即使 play.ap.db.DB 可以为同一驱动程序执行此操作
Cannot connect to Redshift database with a driver even though play.ap.db.DB can do this for the same driver
我正在尝试连接到 redshift 服务器和 运行 一些 sql 命令。这是我编写的代码:
Class.forName("org.postgresql.Driver")
val url: String = s"jdbc:postgres://${user}:${password}@${host}:${port}/${database}"
val connection: Connection = DriverManager.getConnection(url, user, password)
val statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
val setSearchPathQuery: String = s"set search_path to '${schema}';"
statement.execute(setSearchPathQuery)
但我收到以下错误:
java.sql.SQLException: No suitable driver found for jdbc:postgres://user:password@host:port/database
但是当我使用具有相同配置的play框架的默认数据库库时,我能够成功连接到数据库。以下是默认数据库的配置:
db.default.driver=org.postgresql.Driver
db.default.url="postgres://username:password@hostname:port/database"
db.default.host="hostname"
db.default.port="port"
db.default.dbname = "database"
db.default.user = "username"
db.default.password = "password"
问题出在 url。 url 的正确格式是:
jdbc:postgresql://hostname:port/database
我正在尝试连接到 redshift 服务器和 运行 一些 sql 命令。这是我编写的代码:
Class.forName("org.postgresql.Driver")
val url: String = s"jdbc:postgres://${user}:${password}@${host}:${port}/${database}"
val connection: Connection = DriverManager.getConnection(url, user, password)
val statement = connection.createStatement(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY)
val setSearchPathQuery: String = s"set search_path to '${schema}';"
statement.execute(setSearchPathQuery)
但我收到以下错误:
java.sql.SQLException: No suitable driver found for jdbc:postgres://user:password@host:port/database
但是当我使用具有相同配置的play框架的默认数据库库时,我能够成功连接到数据库。以下是默认数据库的配置:
db.default.driver=org.postgresql.Driver
db.default.url="postgres://username:password@hostname:port/database"
db.default.host="hostname"
db.default.port="port"
db.default.dbname = "database"
db.default.user = "username"
db.default.password = "password"
问题出在 url。 url 的正确格式是:
jdbc:postgresql://hostname:port/database