Skip site navigation (1) Skip section navigation (2)

Re: JDBC tutorial code

From: Neil Kidd <neil(at)kidd(dot)org(dot)uk>
To: Steve Waldman <swaldman(at)mchange(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: JDBC tutorial code
Date: 2000-12-12 19:17:55
Message-ID: 4.3.2.7.2.20001212191539.00a9b900@ms.webfactory.co.uk (view raw or flat)
Thread:
Lists: pgsql-novice
Steve,
Thanks very much, it works a treat :-)))

Merry xmas,
Neil.

At 13:00 12/12/00 -0500, you wrote:
>Neil,
>
>For some reason, postgres' JDBC driver doesn't implement
>PreparedStatement.setBinaryStream().
>Use PreparedStatement.setBytes() instead.
>
>Try this...
>
>   InputStream is = new BufferedInputStream(
>                      new FileInputStream( file ) );
>   ByteArrayOutputStream baos = new ByteArrayOutputStream();
>   for (int b = is.read(); b >=0; b = is.read())
>      baos.write(b);
>   ps.setBytes(2, baos.toByteArray());
>
>Hope this helps,
>     Steve
>
>
>On Tue, Dec 12, 2000 at 11:55:06AM +0000, Neil Kidd wrote:
> >
> > Hello,
> > I have followed the JDBC tutorial code at
> > http://www.postgresql.org/devel-corner/docs/programmer/jdbc-lo.htm
> > and keep getting an sqlException from the JDBC driver. I need to deal with
> > BLOBS. Text fields etc work fine.
> > The exception states: InputStream not supported.
> >
> > The code is as follows:
> >
> > import java.sql.*;
> > import java.io.*;
> >
> > public class dbtest
> > {
> >    public static void main( String[] args )
> >    {
> >      // Load the driver
> >      try
> >      {
> >        // Load the driver class
> >        Class.forName( "org.postgresql.Driver" );
> >
> >        // Define the data source for the driver
> >        String dbURL = "jdbc:postgresql://192.168.0.3/mynewdb";
> >
> >        // Create a connection through the DriverManager
> >        Connection dbCon = DriverManager.getConnection( dbURL, USER , 
> PASS );
> >
> >        dbCon.setAutoCommit( false );
> >
> >        File              file = new File(
> > "D:\\dev\\code\\dbtest\\jdbc7.0-1.2.jar" );
> >        FileInputStream   fis  = new FileInputStream( file );
> >        PreparedStatement ps   = dbCon.prepareStatement( "insert into test1
> > values (?,?)" );
> >
> >        ps.setString( 1, file.getName() );
> >        ps.setBinaryStream( 2, fis, ( int )file.length() );
> >        ps.executeUpdate();
> >        ps.close();
> >        fis.close();
> >      }
> >      catch( ClassNotFoundException cnfe )
> >      {
> >        System.err.println( "1 " + cnfe );
> >      }
> >      catch( SQLException sqle )
> >      {
> >        System.err.println( "2 " + sqle );
> >        sqle.printStackTrace(System.err);
> >      }
> >      catch( FileNotFoundException fnfe )
> >      {
> >        System.err.println( "3 " + fnfe );
> >      }
> >      catch( IOException ioe )
> >      {
> >        System.err.println( "4 " + ioe );
> >      }
> >    }
> >
> > Thanks in advance for any help.
> > Regards,
> > Neil
> > ----------------------------------------------------------------
> > From:            Neil Kidd
> > Website:        http://www.kidd.org.uk
> > E-mail:           neil(at)kidd(dot)org(dot)uk
> > ----------------------------------------------------------------

----------------------------------------------------------------
From:            Neil Kidd
Website:        http://www.kidd.org.uk
E-mail:           neil(at)kidd(dot)org(dot)uk
----------------------------------------------------------------


In response to

pgsql-novice by date

Next:From: WOLF, PATRICKDate: 2000-12-12 19:22:26
Subject: RE: What's this mean?
Previous:From: Mike HammondsDate: 2000-12-12 19:02:50
Subject: How do I fix this?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group