如何访问数据库本机java.sql.Connection?

时间:2010-01-15 12:40:50

标签: java postgresql jdbc websphere

我正在使用WASCE作为应用程序服务器并为PosgreSQL定义了一个数据源。我从JNDI获得数据库连接。

问题是我想访问PostgreSQL java.sql.Connection中的特定方法,但是WASCE用自己的Connection包装了这个连接。

具体来说,我想做这样的事情:

((org.postgresql.Connection)conn).addDataType("geometry","org.postgis.PGgeometry");
((org.postgresql.Connection)conn).addDataType("box3d","org.postgis.PGbox3d");

这可能吗?如果是,请分享方式。

编辑:

我希望能从这个包装的Connection访问原始Connection,但直到现在我找不到任何东西。

2 个答案:

答案 0 :(得分:3)

通常,连接将通过池进行处理。为了(相对)透明地处理,您将获得真实连接的代理。因此,您无法直接成功建立连接。连接池可能有一个API,允许您访问底层连接。

答案 1 :(得分:3)

你可以尝试

((PooledConnection) conn).getConnection()

或者,从Java 1.6开始:

conn.unwrap(...)