RE: [INTERFACES] JDBC - large objects

From: Peter Mount <petermount(at)it(dot)maidstone(dot)gov(dot)uk>
To: "'Rolland Crunk'" <rc(at)aenet(dot)net>, pgsql-interfaces(at)postgresql(dot)org
Subject: RE: [INTERFACES] JDBC - large objects
Date: 1999-07-06 11:36:00
Message-ID: 1B3D5E532D18D311861A00600865478CA050@exchange1.nt.maidstone.gov.uk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Could I see the section of your code that has this problem?

For the stock JDBC methods to access a large object, you would need your
acl field to be of type oid, otherwise the driver will not recognise it
as a blob.

Also, as of 6.5, autocommit must be turned off, as large objects can
only be accessed from within a transaction.

I presume you are using the 6.5 version of the driver?

Peter

--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.

-----Original Message-----
From: Rolland Crunk [mailto:rc(at)aenet(dot)net]
Sent: 06 July 1999 10:04
To: pgsql-interfaces(at)postgreSQL(dot)org
Subject: [INTERFACES] JDBC - large objects

I am having some problem getting the jdbc driver to work properly with
large objects using standard jdbc interfaces. The tables are pretty
much
standard relational tables except for one column that I serialize
implementations of the java.security.acl.Acl as objects into.

The error I get is: ERROR: lo_write: invalid large obj descriptor (0)

This was the same error I got running the blobtest until I applied
Tatsuo Ishii's
patch I found in the mailing list archives. I tried the same thing in my
code
(turn on explicit transactions when storing a blob) but it doesn't seem
to
have any effect.

I have tried defining the acl field in my create table statement as
both:

: :
acl oid,
: :

and

: :
acl char[]
: :

And see same thing.

The same (java) code runs fine using Oracle 8 and their thin driver.

I guess what I need to know is: is what I am trying to do possible using
PostgreSQL/JDBC without using the PostgreSQL extensions? (not an
option for me). If so, what should I use for serialized columns in the
create table sql statement? Can it be done without turning off
autocommit?

Thanks in advance for any help anyone can provide.

Cordially,

rc

ps: My environment is:

Solaris 2.7 (intel)
jdk 1.2 (jdk 1.1 fares no better)
PostgreSQL 6.5

Browse pgsql-interfaces by date

  From Date Subject
Next Message Wenhao Meng 1999-07-06 12:26:12 New member
Previous Message Rolland Crunk 1999-07-06 09:03:54 JDBC - large objects