Re: pg jdbc and dbcp error

Поиск
Список
Период
Сортировка
От Mark Lewis
Тема Re: pg jdbc and dbcp error
Дата
Msg-id 1191249611.5495.104.camel@archimedes
обсуждение исходный текст
Ответ на pg jdbc and dbcp error  (tfinneid@student.matnat.uio.no)
Ответы Re: pg jdbc and dbcp error  (tfinneid@student.matnat.uio.no)
Список pgsql-jdbc
On Mon, 2007-10-01 at 16:20 +0200, tfinneid@student.matnat.uio.no wrote:
> Hi
>
> I am having problems getting apache DBCP to work with pg jdbc.
> It is claiming it can't convert a Connection into a PGConnection.
>
> the sentence throws the exception is something like this:
>
>     Connection con = ds.getConnection()    \\ DBCP BasicDataSource
>    ((PGConnection)con).getCopyAPI.copyIntoDB("COPY attr (val1) from
> STDIN"), stream);
>
> the error message is (the message is handcopied so I might make mistakes)
>
> ClassCastException:
> org.apache.commons.dbcp.PoolingDataSource$PoolGuardConnectionWrapper can
> not be cast to org.postgresql.PGConnection
>
>
> Anybody got any ideas whats wrong? the getConnection() returns a
> javax.sql.Connection object, so casting it to PGConnection should not be a
> problem.


DBCP doesn't give you the actual PG connection, instead it gives you a
wrapper connection object which adds connection pooling stuff on top of
the regular PG Connection.  This wrapper implements the Connection
interface, but it isn't a PGConnection, so that's why you get a
ClassCastException.

If you instead cast the connection to a DelegatingConnection (the DBCP
wrapper class), then you can invoke the .getInnermostDelegate() method
and get a handle to the underlying PG Connection object.

-- Mark Lewis



В списке pgsql-jdbc по дате отправления:

Предыдущее
От: Eric Faulhaber
Дата:
Сообщение: Re: pg jdbc and dbcp error
Следующее
От: tfinneid@student.matnat.uio.no
Дата:
Сообщение: Re: pg jdbc and dbcp error