我在heroku中创建了一个应用程序来使用远程数据库(postgres)。我可以很容易地在intellij idea或datagrip中选择,插入,删除,更新。但我想通过java代码进行连接。
public class ConnectionDB {
public static void main(String[] args) throws URISyntaxException, SQLException {
String dbURL = System.getenv("jdbc:postgresql://ec2-54-247-78-30.eu-west-1.compute.amazonaws.com:5432/d3du1hdp316o87");
Connection conn = DriverManager.getConnection(dbURL);
}
}
但当我运行上述代码时,我得到:
Exception in thread "main" java.sql.SQLException: The url cannot be null
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:660)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at connection.ConnectionDB.main(ConnectionDB.java:11)
我也试过DATABASE_URL,但和JDBC_DATABASE_URL的输出一样。如何解决这个问题?
你用来定义dbURL的那一行试图访问一个可能不存在的环境变量。
请从定义dbURL的行中删除 "System.getenv",或者定义一个环境变量 "dbURL",然后通过以下方式访问它 System.getenv('dbURL')
:
String dbURL = "jdbc:postgresql://ec2-54-247-78-30.eu-west-1.compute.amazonaws.com:5432/d3du1hdp316o87";
Connection conn = DriverManager.getConnection(dbURL);
或者,定义环境变量'dbURL',然后使用。
String dbURL = System.getenv('dbURL');
Connection conn = DriverManager.getConnection(dbURL);