From: | Edoardo Ceccarelli <eddy(at)axa(dot)it> |
---|---|
To: | Oliver Jowett <oliver(at)opencloud(dot)com> |
Cc: | pgsql-jdbc(at)postgresql(dot)org |
Subject: | Re: blob without largeobject api |
Date: | 2004-04-06 11:55:06 |
Message-ID: | 40729A9A.3060001@axa.it |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-jdbc |
Tried with a driver downloaded from http://jdbc.postgresql.org/
pg74.213.jdbc3.jar
the result is always the same:
java.lang.ClassCastException: com.caucho.sql.UserConnection
on row:
LargeObjectManager lom =
((org.postgresql.PGConnection)db).getLargeObjectAPI();
I think that the second suggestion is about using a "standard" way to
save a blob field, I have tried something like this:
- insert record without blob
- open record for update and use setBytes() to save blob data
having some minor problems so far but I'd like to know if this is the
right way to do it.
thanks again
Edoardo
Oliver Jowett ha scritto:
> 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
>
>
>
From | Date | Subject | |
---|---|---|---|
Next Message | Oliver Jowett | 2004-04-06 12:24:35 | Re: blob without largeobject api |
Previous Message | zhang-x | 2004-04-06 08:47:26 | Have some problem about the SSL connection by JDBC |