簡體   English   中英

發生了一些不尋常的事情導致驅動程序失敗。 Heroku postgresql 數據庫

[英]Something unusual has occurred to cause the driver to fail. Heroku postgresql database

我已經創建了一個 heroku posgresql 數據庫,我正在嘗試將我的 Android 應用程序連接到這個數據庫。 我正在使用 Android Studio 來制作 Android 應用程序。 我使用以下代碼來創建連接:

try {
    Class.forName("org.postgresql.Driver");
    Connection db = DriverManager.getConnection(dbUrl);
}
catch(Exception e){
    //handles exception
}

當我執行此代碼時,我收到以下錯誤:發生異常情況導致驅動程序失敗。 請報告此異常。

這是我使用的驅動程序:posgresql-42.2.12

heroku 數據庫有版本 12.2

Android工作室有java版本1.8

我不確定驅動程序是否在類路徑中,也不知道如何檢查。 我以這種方式將驅動程序添加到項目中:app > New > Module > Import.JAR/.AAR Package(這里我選擇了驅動程序)。

要檢查驅動程序是否已在 DriverManager 中注冊,我使用了以下代碼:

Enumeration<Driver> drivers = DriverManager.getDrivers();
drivers.nextElement().getClass().getName();

這給出了:org.postgresql.Driver

要檢查驅動程序是否理解 URL,我使用了以下代碼:

DriverManager.getDriver(dbUrl).getClass().getName();

這也提供了 org.posgresql.Driver,所以我認為驅動程序已注冊到 DriverManager,並且應該能夠使用 URL 連接到數據庫。 我真的不知道為什么當我嘗試連接數據庫時總是出錯。

那么為什么會發生錯誤,我該如何解決這個問題?

我的第一個猜測是格式錯誤的連接字符串。 您是否為 dbUrl 使用了正確的 JDBC URL (即它以dbUrl jdbc:開頭)? 還要確保包含sslmode=require

此外,請注意數據庫 URL 由 Heroku 管理,在某些情況下會發生變化。 您可以在此 DevCenter 文章中閱讀有關從 Heroku 外部使用 Heroku Postgres 的更多信息。

暫無
暫無

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

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