首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用PostgreSQL JDBC4确定java.sql.Connection是否有效

如何使用PostgreSQL JDBC4确定java.sql.Connection是否有效
EN

Stack Overflow用户
提问于 2011-03-12 02:24:23
回答 2查看 6.9K关注 0票数 3

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

我的测试非常简单:

代码语言:javascript
运行
复制
@Test
public void connectionFactoryShouldReturnOpenConnection() throws Exception {
    Connection conn = ConnectionFactory.getConnection();

    assertTrue(conn.isValid(2));
}

不过,isValid调用失败了:

代码语言:javascript
运行
复制
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)

到底怎么回事?当然,有一个Java驱动程序可以实现Java1.6的方法,比如isValid()

下面是我使用的驱动程序的详细信息:

代码语言:javascript
运行
复制
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>9.0-801.jdbc4</version>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-12 02:56:15

执行一个简单的查询,如果它工作,它是有效的。如果不是,它就不是。

对于简单的查询,我的意思是这样的:

代码语言:javascript
运行
复制
SELECT 1;

非常简单。

票数 4
EN

Stack Overflow用户

发布于 2011-03-12 02:46:01

从postresql驱动程序source code中,AbstractJdbc4Connection.isValid()在被调用时抛出此异常:

代码语言:javascript
运行
复制
public boolean isValid(int timeout) throws SQLException
{
    checkClosed();
    throw org.postgresql.Driver.notImplemented(this.getClass(), "isValid(int)");
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5276816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档