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
|
Список | 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 по дате отправления: