Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug with blobs?

0 views
Skip to first unread message

Rob Kirkbride

unread,
Aug 11, 2005, 2:09:48 PM8/11/05
to
Hi,

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

Kris Jurka

unread,
Aug 11, 2005, 2:36:14 PM8/11/05
to

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?

http://www.postgresql.org/docs/faq

Rob Kirkbride

unread,
Aug 11, 2005, 3:55:51 PM8/11/05
to
Kris Jurka wrote:

>
>
> 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?

http://archives.postgresql.org

0 new messages