Обсуждение: About Postgres Large Object
Hi ,
I am using postgresql 7.1.3 and Redhat 7.3
I am running this servlet given below. But it is not running
//Retrieving the image from the database:
// All LargeObject API calls must be within a transaction
con.setAutoCommit(false);
// Get the Large Object Manager to perform operations with
LargeObjectManager lobj =
((org.postgresql.Connection)con).getLargeObjectAPI();
PreparedStatement pstmt =
con.prepareStatement("SELECT img FROM images WHERE imgname=?");
pstmt.setString(1, "myimage.gif");
ResultSet rs = pstmt.executeQuery();
if (rs != null) {
while(rs.next()) {
// open the large object for reading
int oid = rs.getInt(1);
LargeObject obj = lobj.open(oid, LargeObjectManager.READ);
// read the data
byte buf[] = new byte[obj.size()];
obj.read(buf, 0, obj.size());
// do something with the data read here
// Close the object
obj.close();
}
rs.close();
}
pstmt.close();
Error message is given below
[27/01/2004 10:19:43:138 IST] java.lang.NoSuchMethodError:
org.postgresql.largeo
bject.LargeObject.read([BII)V
at
org.apache.jserv.JServConnection.processRequest(JServConnection.java:
323)
at
org.apache.jserv.JServConnection.run(JServConnection.java:188)
at java.lang.Thread.run(Thread.java:536)
On Tue, 27 Jan 2004, root wrote:
> Hi ,
> I am using postgresql 7.1.3 and Redhat 7.3
> I am running this servlet given below. But it is not running
>
> obj.read(buf, 0, obj.size());
>
> [27/01/2004 10:19:43:138 IST] java.lang.NoSuchMethodError:
> org.postgresql.largeo
> bject.LargeObject.read([BII)V
I wonder if you are running your application with the same
version you compiled against. I note the cvs log shows:
revision 1.2
date: 2001/01/31 08:26:02; author: peter; state: Exp; lines: +29 -23
- Changed LargeObject.read(byte[],int,int) to return the actual
number of bytes read (used to be void).
This was between the 7.0 and 7.1 release. So I'm guessing you have a
mismatch between compilation and runtime jar files. That said I'm
obligated to remind you that 7.1 is old you should upgrade.
Kris Jurka