Re: Cast java.sql.Connection to PGConnection

From: Philippe Marschall <Philippe(dot)Marschall(at)netcetera(dot)com>
To: "peter(dot)penzov" <peter(dot)penzov(at)gmail(dot)com>, "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: Cast java.sql.Connection to PGConnection
Date: 2016-05-03 07:18:55
Message-ID: 1462259930424.38899@netcetera.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

Hi

The following is the way to do it:

PGConnection pgCon = conn.unwrap(PGConnection.class);

Cheers
Philippe
________________________________________
From: pgsql-jdbc-owner(at)postgresql(dot)org <pgsql-jdbc-owner(at)postgresql(dot)org> on behalf of peter.penzov <peter(dot)penzov(at)gmail(dot)com>
Sent: Monday, May 2, 2016 20:29
To: pgsql-jdbc(at)postgresql(dot)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(at)postgresql(dot)org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-jdbc

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Christian Schröder 2016-05-03 09:02:46 Re: DatabaseMetaData.getColumns does not return full qualified type
Previous Message Gavin Flower 2016-05-03 01:48:23 Re: pgsql jdbc db connection weird behaviour