Continuing problems with using OIDs via JDBC - Mailing list pgsql-jdbc

From M. A. Sridhar
Subject Continuing problems with using OIDs via JDBC
Date
Msg-id 20020126220517.61626.qmail@web9009.mail.yahoo.com
Whole thread Raw
Responses Re: Continuing problems with using OIDs via JDBC
Re: Continuing problems with using OIDs via JDBC
List pgsql-jdbc
Hello folks,

I would greatly appreciate some help with using large objects in PostgreSQL
via JDBC. I need to create a JDBC-compliant database application tha
supports multiple database vendors, so using any PostgreSQL-specific
extensions is difficult. I am trying to replace my current Oracle-on-Linux
setup with PostgreSQL, and not having much luck.

My setup is Red Hat Linux 7.1 (or 7.2) running the IBM JDK 1.3. I have
installed the PostgreSQL version distributed via the stock Red Hat RPMs for
that OS version.

Also, I am a relative newbie to PostgreSQL, although I have worked with
other databases (Oracle and Pointbase in particular). So please forgive any
errors/omissions on my part.

I need to store and retrieve large binary objects. To this end, I have
followed the directions in the JDBC documentation distributed with the
PostgreSQL package. Specifically I use the oid data type wherever a large
object is needed, and the ResultSet's setBinaryStream/getBinaryStream
methods to store and retrieve data.

When I try this setup using the JDBC 7.1-1.2 drivers, the problem that
arises is the driver's inability to handle null values:

FastPath call returned ERROR:  inv_open: large object 0 not found

I would expect that, if the value is null, the driver would return null
instead of throwing an exception.

I found reports of this bug on Google and the PostgreSQL mailing list, and
the recommendation was to use the newer drivers. Well, that doesn't work
either: both the 7.1-1.2 and 7.1-1.3 drivers (which I downloaded from
jdbc.fastcrypt.com) fail with an error like

java.sql.SQLException: ERROR:  oidin: error in "..."

when I try to insert a record containing a blob.

And yes, I do use setAutoCommit to ensure that retrievals/updates happen
within a transaction, as described in the JDBC documentation.

So I am now unable to use PostgreSQL. Any help is greatly appreciated. I
will be glad to give more details (e.g., source code snippets) to clarify
if needed.

Thanks in advance.



=====
Sridhar
---
M. A. Sridhar
m_a_sridhar@yahoo.com

__________________________________________________
Do You Yahoo!?
Great stuff seeking new owners in Yahoo! Auctions!
http://auctions.yahoo.com

pgsql-jdbc by date:

Previous
From: "G.Nagarajan"
Date:
Subject: Re: Bad Timestamp Format
Next
From: "Oliver Friedrich"
Date:
Subject: Re: Continuing problems with using OIDs via JDBC