Re: blob without largeobject api

Поиск
Список
Период
Сортировка
От Oliver Jowett
Тема Re: blob without largeobject api
Дата
Msg-id 4071D255.3000504@opencloud.com
обсуждение исходный текст
Ответ на blob without largeobject api  (Edoardo Ceccarelli <eddy@expot.it>)
Ответы Re: blob without largeobject api
Список pgsql-jdbc
Edoardo Ceccarelli wrote:
> I need to insert a Blob into a table without using
> org.postgresql.largeobject.*; classes, that's because the db pool I'm
> using (Resin) doesn't allow me to cast:
> ((org.postgresql.PGConnection)db)  to get access at the Postgres
> LargeObjectAPI.
>
> // Generates ClassCastExep.
> LargeObjectManager lom =
> ((org.postgresql.PGConnection)db).getLargeObjectAPI();
>
> Since I'd like to keep using the same type of connection (without
> changing the pool manager or directly connecting to the db) is there a
> way to insert Blob (oid) data into a table without using the large
> object api?

1) Check you are using a recent driver; pre-7.4 drivers had a bug where
proxy connections handed out by the driver's PooledConnection
implementation (which is probably what Resin is using) did not implement
PGConnection, which may be the cause of your CCE.

2) Add '?compatible=7.1' (or '&compatible=7.1' if you already have URL
parameters present) to your driver URL and use
PreparedStatement.setBytes() / ResultSet.getBytes(). Note that you won't
be able to use these methods to access bytea fields if you do this, and
might change other behaviour of the driver too.

-O

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

Предыдущее
От: Oliver Jowett
Дата:
Сообщение: Re: JTA / JDBC support
Следующее
От: "Jim Ewert"
Дата:
Сообщение: Slow updates