JDBC + large objects problem - Mailing list pgsql-general

From Patrick Goodwill
Subject JDBC + large objects problem
Date
Msg-id Pine.BSF.4.21.0008250627300.596-100000@cheese.stanford.edu
Whole thread Raw
List pgsql-general
to all:

I'm trying to use JDBC and BLOBS to store large amounts of text in a
database.  I get a strange error when I try to use the conventional JDBC
interface... it comes out with a SQL Exceptions of:

"InputStream as parameter not supported"

for the code:

        Connection conn = pool.getConnection();
        PreparedStatement pstmt =
        conn.prepareStatement("INSERT INTO t" + book
                      + "_data (author_id, title, text,
                                      type) VALUES ( ?, ?, ?, ?)");
        pstmt.setInt(1, userId);
        pstmt.setString(2, title);
        InputStream textStream = stringToStream(text);
        pstmt.setBinaryStream(3, textStream, text.length());
        pstmt.setInt(4, type);
        pstmt.executeUpdate();
        pstmt.close();


... with some helper functions....

    private InputStream stringToStream(String string) {
    byte[] bytes = string.getBytes();
    ByteArrayInputStream stream = new ByteArrayInputStream(bytes);
    return (InputStream) stream;
    }

    private String      streamToString(InputStream stream) {
    try {
        int length = stream.available();
        byte[] bytes = new byte[length];
        stream.read(bytes);
        return new String(bytes);
    } catch (IOException e) {
        System.out.println("No Stream");
    }
    return null;
    }

with an abbreviated schema of....

>> \d t1_data
                               Table "t1_data"
 Attribute |  Type   |                       Modifier
-----------+---------+-------------------------------------------------------
 data_id   | integer | not null default
                               nextval('t1_data_data_id_seq'::text)
 author_id | integer |
 title     | text    |
 text      | oid     |
 type      | integer |
 time      | time    |
Index: t1_data_pkey


.... using postgresql 7.0 and the newest JDBC driver from retep.org.uk


any ideas?

-Patrick.


pgsql-general by date:

Previous
From: andrew@ugh.net.au
Date:
Subject: Local Users "su'ing"
Next
From: Matthew Rice
Date:
Subject: Creating a DB for another user (or...)