Re: Continuing problems with using OIDs via JDBC - Mailing list pgsql-jdbc
From | Oliver Friedrich |
---|---|
Subject | Re: Continuing problems with using OIDs via JDBC |
Date | |
Msg-id | BCEFLCEOHFPNLLAKKGAAEELBCIAA.oliver@familie-friedrich.de Whole thread Raw |
In response to | Continuing problems with using OIDs via JDBC ("M. A. Sridhar" <m_a_sridhar@yahoo.com>) |
Responses |
Re: Continuing problems with using OIDs via JDBC
|
List | pgsql-jdbc |
What version of PostgreSQL you are using? A Pre-7.1.x version? A few days ago i have some problems like yours with large object support. I have updated my postgres to 7.1.3 and now it works great with PostgreSQL JDBC driver 7.2b3 Oliver -----Original Message----- From: pgsql-jdbc-owner@postgresql.org [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of M. A. Sridhar Sent: Saturday, January 26, 2002 11:05 PM To: pgsql-jdbc@postgresql.org Subject: [JDBC] Continuing problems with using OIDs via 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 ---------------------------(end of broadcast)--------------------------- TIP 2: you can get off all lists at once with the unregister command (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)
pgsql-jdbc by date: