Heroku应用程序访问postgres数据库,并相互通信

时间:2015-04-07 09:33:13

标签: java sql heroku web

我的Heroku Java Web应用程序未访问Postgres数据库,而Heroku pg:info命令只显示Tables:0 ; Rows:0,即使Eclipse中的data.yml文件已填充。

我试图弄清楚出了什么问题,但仍然不知道该怎么办。有什么帮助吗?

1 个答案:

答案 0 :(得分:0)

Heroku上的Java应用程序需要使用设置为DATABASE_URL config var的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);
}