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

问题描述 投票:0回答:1

我已经创建了一个heroku posgresql数据库,并试图将我的Android应用程序连接到这个数据库。我使用Android Studio来制作Android应用程序。我使用了以下代码来创建连接。

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

当我执行这段代码时,我得到了以下错误: Something unusual has occurred tot cause the driver to fail. Please report this exception. 请报告这个异常。

这是我使用的驱动程序:posgresql-42.2.12。

heroku数据库的版本是12.2

Android studio的java版本为1.8

我不确定驱动是否在classpath中,我也不知道如何检查。我是这样把驱动添加到项目中的:app > New > Module > Import .JAR.AAR Package(这里我选择了驱动)。

为了检查驱动程序是否在DriverManager中注册,我使用了这段代码。

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

这给出了:org.postgresql.Driver。

为了检查Driver是否理解URL,我使用了这段代码。

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

这也给出了org.posgresql.Driver 所以我认为Driver已经注册到了DriverManager 应该可以使用URL连接到数据库。只是我真的不知道为什么当我尝试与数据库连接时,我一直得到一个错误。

那么,为什么会出现错误,我如何解决这个问题?

java android heroku database-connection
1个回答
0
投票

我的第一个猜测是连接字符串错误。你是否使用了一个正确的JDBC URL(即它以 jdbc:)为 dbUrl? 还有 确保你包括 sslmode=require.

此外,请注意,数据库的URL是由Heroku管理的,在某些情况下会改变。您可以阅读更多关于在Heroku之外使用Heroku Postgres的信息。在这篇DevCenter文章中.

© www.soinside.com 2019 - 2024. All rights reserved.