簡體   English   中英

PostgreSQL JDBC驅動程序不適用於Heroku數據庫連接

[英]PostgreSQL JDBC Driver not working for Heroku DB Connection

我有一個嘗試連接到Heroku數據庫的類:

public class ConnectionFactory {

    public Connection getConnection() {
        System.out.println("Conectando ao banco");
        try {           
            return DriverManager.getConnection("connectionstring", "username", "password");
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

它返回的是:

java.lang.RuntimeException:java.sql.SQLException:找不到適用於jdbc:postgres:// osnvehqhufnxzr:TS3Qt37c_HHbGRNKw3yk7g88fp@ec2-54-225-93-34.compute-1.amazonaws.com:5432 / d39mfq0odt56bv的驅動程序

我已經在項目的構建路徑中嘗試過postgresql-9.3-1103.jdbc3.jarpostgresql-9.4.1209.jre6.jar 我做錯了什么?

在JDBC URL中使用postgresql ,而不要使用postgres

另外,您需要通過運行以下命令來更改數據庫密碼(因為您公開發布了該密碼):

$ heroku pg:credentials DATABASE --reset

您需要先由類加載器加載驅動程序類:

Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection(...);

另請參閱: “ Class.forName(“ MY_JDBC_DRIVER”))的用途是什么?

解決方案很簡單, System.getenv(“ JDBC_DATABASE_URL”)在服務器中將其返回,並且它對登錄名和密碼進行了正確的配置。

public Connection getConnection() throws URISyntaxException, SQLException 
{   
String urlDB = System.getenv("JDBC_DATABASE_URL");          
return DriverManager.getConnection(urlDB);  
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM