Hi
The following is the way to do it:
PGConnection pgCon = conn.unwrap(PGConnection.class);
Cheers
Philippe
________________________________________
From: pgsql-jdbc-owner@postgresql.org <pgsql-jdbc-owner@postgresql.org> on behalf of peter.penzov
<peter.penzov@gmail.com>
Sent: Monday, May 2, 2016 20:29
To: pgsql-jdbc@postgresql.org
Subject: [JDBC] Cast java.sql.Connection to PGConnection
I want to upload a file in PostgreSQL using Tomcat:
@Resource(name = "jdbc/DefaultDB")
private DataSource ds;
Connection conn = ds.getConnection();
I tried to cast the conn object this way:
PGConnection pgCon = ((org.apache.commons.dbcp.DelegatingConnection)
conn).getInnermostDelegate();
I get
Caused by: java.lang.ClassCastException:
org.apache.tomcat.dbcp.dbcp2.PoolingDataSource$PoolGuardConnectionWrapper
cannot be cast to org.postgresql.PGConnection
I also tried:
Connection unwrap = conn.unwrap(Connection.class);
connSec = (org.postgresql.PGConnection) unwrap;
I get
java.sql.SQLException: Cannot unwrap to org.postgresql.PGConnection
LargeObjectManager pgCon = pgCon.getLargeObjectAPI();
What is the proper way to implement the code?
P.S
I tried this:
PGConnection pgConnection = null;
if (conn.isWrapperFor(PGConnection.class))
{
pgConnection = conn.unwrap(PGConnection.class);
}
LargeObjectManager lobj = pgConnection.getLargeObjectAPI();
But I get NPE at this line LargeObjectManager lobj =
pgConnection.getLargeObjectAPI();
--
View this message in context: http://postgresql.nabble.com/Cast-java-sql-Connection-to-PGConnection-tp5901531.html
Sent from the PostgreSQL - jdbc mailing list archive at Nabble.com.
--
Sent via pgsql-jdbc mailing list (pgsql-jdbc@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc