如何确定 java.sql.Connection 对于 PostgreSQL JDBC4 是否有效

发布于 2024-10-21 12:24:16 字数 956 浏览 0 评论 0原文

我正在尝试为返回 java.sql.Connection 以连接到 PostgreSQL 的方法编写测试。

我的测试非常简单:

@Test
public void connectionFactoryShouldReturnOpenConnection() throws Exception {
    Connection conn = ConnectionFactory.getConnection();

    assertTrue(conn.isValid(2));
}

但是 isValid 调用失败了:

org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4Connection.isValid(int) is not yet implemented.
at org.postgresql.Driver.notImplemented(Driver.java:753)
at org.postgresql.jdbc4.AbstractJdbc4Connection.isValid(AbstractJdbc4Connection.java:109)
at org.postgresql.jdbc4.Jdbc4Connection.isValid(Jdbc4Connection.java:21)

发生了什么事?肯定有一个 PostgreSQL JDBC 驱动程序实现了 Java 1.6 的方法,例如 isValid() 吗?

这是我正在使用的驱动程序的详细信息:

<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>

I'm trying write a test for a method that returns a java.sql.Connection to connect to a PostgreSQL.

My test is very straightforward:

@Test
public void connectionFactoryShouldReturnOpenConnection() throws Exception {
    Connection conn = ConnectionFactory.getConnection();

    assertTrue(conn.isValid(2));
}

The isValid call fails, though:

org.postgresql.util.PSQLException: Method org.postgresql.jdbc4.Jdbc4Connection.isValid(int) is not yet implemented.
at org.postgresql.Driver.notImplemented(Driver.java:753)
at org.postgresql.jdbc4.AbstractJdbc4Connection.isValid(AbstractJdbc4Connection.java:109)
at org.postgresql.jdbc4.Jdbc4Connection.isValid(Jdbc4Connection.java:21)

What's going on? Surely there is a PostgreSQL JDBC driver that implements the methods of Java 1.6 such as isValid()?

Here the details on the driver I'm using:

<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

黯淡〆 2024-10-28 12:24:16

执行一个简单的查询,如果有效,则有效。如果没有,那就不是。

通过简单查询,我的意思是:

SELECT 1;

非常简单。

Perform a simple query, if it works, it's valid. If not, it's not.

And by simple query I mean something like:

SELECT 1;

Really simple.

十六岁半 2024-10-28 12:24:16

来自 postresql 驱动程序 源代码 AbstractJdbc4Connection.isValid() 调用时抛出此异常:

public boolean isValid(int timeout) throws SQLException
{
    checkClosed();
    throw org.postgresql.Driver.notImplemented(this.getClass(), "isValid(int)");
}

From the postresql driver source code the AbstractJdbc4Connection.isValid() throws this exception when called:

public boolean isValid(int timeout) throws SQLException
{
    checkClosed();
    throw org.postgresql.Driver.notImplemented(this.getClass(), "isValid(int)");
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文