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
Views: Raw Message | Whole Thread | Download mbox | Resend email
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

Browse pgsql-novice by date

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