I was getting an exception thrown when using Hibernate to read blobs but
I've pared it down to something very simple - hopefully it's just
something silly.
Here's the snippet of code :-
String query = "select imageblob from tempimages where id=1";
Connection con;
PreparedStatement s;
ResultSet rs;
try {
Class.forName(driver);
con = DriverManager.getConnection(url, username,
password);
s = con.prepareStatement(query);
rs = s.executeQuery();
rs.next();
java.sql.Blob blob = rs.getBlob("imageblob");
It throws a
org.postgresql.util.PSQLException: Bad value for type int :
\377\330\377\340\000 .... <blob data removed>
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.toInt(AbstractJdbc2ResultSet.java:2528)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2003)
at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3ResultSet.java:55)
at
org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBlob(AbstractJdbc2ResultSet.java:323)
at PgTest.run(PgTest.java:46)
at PgTest.main(PgTest.java:63)
This is with postgresql 8.0.3 and version 312 of the driver (on Linux)
Help, help! - What am I doing wrong!?
Thanks for any help,
Rob
---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majo...@postgresql.org so that your
message can get through to the mailing list cleanly
On Thu, 11 Aug 2005, Rob Kirkbride wrote:
> I was getting an exception thrown when using Hibernate to read blobs but
> I've pared it down to something very simple - hopefully it's just
> something silly.
>
> String query = "select imageblob from tempimages where id=1";
>
> java.sql.Blob blob = rs.getBlob("imageblob");
>
> It throws a
> org.postgresql.util.PSQLException: Bad value for type int :
> \377\330\377\340\000 .... <blob data removed>
> at
> org.postgresql.jdbc2.AbstractJdbc2ResultSet.toInt(AbstractJdbc2ResultSet.java:2528)
> at
Postgresql maps Blob data to the oid datatype, not bytea. For bytea data
you should use getBytes() not getBlob.
Kris Jurka
---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?
>
>
> On Thu, 11 Aug 2005, Rob Kirkbride wrote:
>
>> I was getting an exception thrown when using Hibernate to read blobs but
>> I've pared it down to something very simple - hopefully it's just
>> something silly.
>>
>> String query = "select imageblob from tempimages where id=1";
>>
>> java.sql.Blob blob = rs.getBlob("imageblob");
>>
>> It throws a
>> org.postgresql.util.PSQLException: Bad value for type int :
>> \377\330\377\340\000 .... <blob data removed>
>> at
>> org.postgresql.jdbc2.AbstractJdbc2ResultSet.toInt(AbstractJdbc2ResultSet.java:2528)
>>
>> at
>
>
> Postgresql maps Blob data to the oid datatype, not bytea. For bytea
> data you should use getBytes() not getBlob.
>
> Kris Jurka
>
Thanks. It's actually being done within Hibernate so I don't have a
great deal of control but I'll try using the binary type which works
with bytea and hopefully will be ok.
Rob
---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?