You have to use getBytes() instead of getBinaryInputStream,
and you have to put everything inside of a transaction. Not
well documented aspects of the PostgreSQL JDBC.
Good luck,
Greg Speegle
1/6/01 5:49:49 PM, nvadekar@netscape.net (Neal Vadekar) wrote:
>In the online manual is gives the following eg. on how to access a blob uisng
>jdbc:
>
>PreparedStatement ps = con.prepareStatement("select oid from images where
>name=keyfield");
>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();
>
>I have tried this to no avail. The getBinaryInputStream method is not
>available in the packages that are included in the JSP page. I don't know
>why, I know the select statement is working, but it only works when I have
>the line with getBinaryInputStream commented out. How do I get access to
>that method? I am using jdbc7.0.1-2.jar. I thought that by using the jdbc
>driver, that method would be available to me???
>
>I tried getBinaryStream, instead of getBinaryInputStream, but then I get the
>following error:
>
>javax.servlet.ServletException: FastPath call returned ERROR: Relation 0
>does not exist
>
>I then changed everthing to a BLOB object instead of InputStream as follows:
>
>byte[] blob1 = rs1.getBytes("photoblob"); \\photoblob is the name of the field
>
>but I still keep getting the:
>
>javax.servlet.ServletException: FastPath call returned ERROR: Relation 0
>does not exist
>
>error. How do I get past this error, it is killing me! What does Relation 0
>does not exist mean? What is the FastPath error. Every object and method I
>try to use to access the BLOB results in that same error. I am using RedHat
>7.0, Postgresql 7.02 and Tomcat 3.2.1.
>
>HELP, and Thanks in advance.
>
>Neal Vadekar
>
>
>__________________________________________________________________
>Get your own FREE, personal Netscape Webmail account today at
>http://webmail.netscape.com/
>