Continuing problems with using OIDs via JDBC

From: "M(dot) A(dot) Sridhar" <m_a_sridhar(at)yahoo(dot)com>
To: pgsql-jdbc(at)postgresql(dot)org
Subject: Continuing problems with using OIDs via JDBC
Date: 2002-01-26 22:05:17
Message-ID: 20020126220517.61626.qmail@web9009.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(at)yahoo(dot)com

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

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Oliver Friedrich 2002-01-26 22:30:30 Re: Continuing problems with using OIDs via JDBC
Previous Message G.Nagarajan 2002-01-26 16:14:31 Re: Bad Timestamp Format