From: | Patrick Goodwill <goodwill(at)cheese(dot)stanford(dot)edu> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | JDBC + large objects problem |
Date: | 2000-08-25 21:25:27 |
Message-ID: | Pine.BSF.4.21.0008251424240.1475-100000@cheese.stanford.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
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
if ya'll have any ideas why it does what it does, i just might kiss your
feet. =)
-Patrick.
From | Date | Subject | |
---|---|---|---|
Next Message | Rob Judd | 2000-08-25 22:16:10 | Re: JDBC + large objects problem |
Previous Message | Manika dey | 2000-08-25 21:19:00 | RE: using large objects with jdbc |