Re: wrong documentation and others ..... - Mailing list pgsql-interfaces

From tjm2@mail.ikasths.dk (Troels Jegbjaerg Moerch)
Subject Re: wrong documentation and others .....
Date
Msg-id 004f01c02ebd$8f30a380$97bfedd4@pc4151
Whole thread Raw
In response to wrong documentation and others .....  (Gabriel Lopez <gabilm@dif.um.es>)
List pgsql-interfaces
Hi try this:   
 
   File file = new File("myimage.gif"); 
   FileInputStream fis = new FileInputStream(file);

   byte[] theByteArray = new byte[fis.available()];
   fis.read(theByteArray);
   
   PreparedStatement ps = con.prepareStatement("insert insert into images values (?,?)");
 
   ps.setString(1,file.getName()); 
   ps.setBytes(2, theByteArray);
   ps.execute();
   con.commit();
   ps.close();
   fis.close();
   
 
 
TJM
 
 
 
----- Original Message -----
To: psql
Sent: Thursday, October 05, 2000 12:59 PM
Subject: [INTERFACES] wrong documentation and others .....

 

    Hi all.

    I have several days working with LargeObject and postgres 7.0.2 and I have found many problems. In the first time the postgresql doc is wrong, in chapter 58 of PosgreSQL tutorial (JDBC Interfaces) it repot who to work with Large Object and give code that is wrong:

        File file = new File("myimage.gif");
        FileInputStream fis = new FileInputStream(file);
        PreparedStatement ps = conn.prepareStatement("insert into images values (?,?)");
        ps.setString(1,file.getName());
        ps.setBinaryStream(2,fis,file.length());
        ps.executeUpdate();
        ps.close();
        fis.close();

        PreparedStatement ps = con.prepareStatement("select oid from images where name=?");
        ps.setString(1,"myimage.gif");
        ResultSet rs = ps.executeQuery();
        if(rs!=null) {
            while(rs.next()) {
                InputStream is = rs.getBinaryInputStream(1);
                // use the stream in some way here
                is.close();
                }
            rs.close();
        }
        ps.close();
 

        InputStream ARE NOT SUPPORTED in JDBC implementation ¡¿?¡ and "getBinaryInputStream()" really is "getBinaryStream()".  I think that it is very serious. The other method (that I know) is using LargeObjectAPI, but this fail every 9 times of PreparedStatement of setObject() sentence ¡¡¡ and when use LargeObjectManager as in source examples. (I send other messages to list)
 

        Has PostgreSQL any way to work WELL with LargeObject.?

    Please reply me.

    Cheers, Gabi.
 

-- 
Gabriel López Millán    
Facultad de Informática -Universidad de Murcia
30001 Murcia - España (Spain)
Telf: +34-968-364644 E-mail: gabilm@dif.um.es
 

pgsql-interfaces by date:

Previous
From: Gabriel Lopez
Date:
Subject: wrong documentation and others .....
Next
From: Gabriel Lopez
Date:
Subject: Re: wrong documentation and others .....