发生了一些不寻常的事情,导致驱动程序失败,Heroku postgresql数据库

lp0sw83n  于 12个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(291)

我已经创建了一个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 Studio有Java 1.8版本
我不确定驱动程序是否在类路径中,也不确定如何检查。我以以下方式将驱动程序添加到项目中:app > New > Module > Import . Other/.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连接到数据库。我只是真的不知道为什么我总是得到一个错误,当我尝试连接到数据库。
那么为什么会出现错误,如何解决这个问题呢?

41zrol4v

41zrol4v1#

我的第一个猜测是一个格式错误的连接字符串。您是否使用了正确的JDBC URL(即以jdbc:开头)用于dbUrl?还要确保您包括sslmode=require
此外,请注意,数据库URL由Heroku管理,在某些情况下会发生变化。您可以从Heroku in this DevCenter article外部阅读更多关于使用Heroku Postgres的信息。

相关问题