【发布时间】:2015-06-11 20:35:21
【问题描述】:
我的 Heroku Java Web 应用程序未访问 Postgres 数据库,并且命令 Heroku pg:info 仅显示 Tables:0 ; Rows:0,即使我在 Eclipse 中的 data.yml 文件已填充。
我试图找出问题所在,但仍然不知道该怎么办。有什么帮助吗?
【问题讨论】:
我的 Heroku Java Web 应用程序未访问 Postgres 数据库,并且命令 Heroku pg:info 仅显示 Tables:0 ; Rows:0,即使我在 Eclipse 中的 data.yml 文件已填充。
我试图找出问题所在,但仍然不知道该怎么办。有什么帮助吗?
【问题讨论】:
Heroku 上的 Java 应用程序需要使用设置为 DATABASE_URL 配置变量的 URL 连接到数据库。解析它的代码可能类似于:
private Connection getConnection() throws URISyntaxException, SQLException {
URI dbUri = new URI(System.getenv("DATABASE_URL"));
String username = dbUri.getUserInfo().split(":")[0];
String password = dbUri.getUserInfo().split(":")[1];
int port = dbUri.getPort();
String dbUrl = "jdbc:postgresql://" + dbUri.getHost() + ":" + port + dbUri.getPath();
return DriverManager.getConnection(dbUrl, username, password);
}
【讨论】: