Thread: RE: Compiling JDBC Driver - impossible!

RE: Compiling JDBC Driver - impossible!

From
Joe Shevland
Date:
If anyone wants to submit to me successfully built Postgres JAR files (1.1
and 1.2), I'm happy to create a site where people can download them... I
guess it would be useful to have all manner of JARS (RC-x) available too.

Let me know or just submit successfully built JAR's and I'll send a message
to the list when the site is ready. I know I'd find this handy sometimes.

Cheers,
Joe

> -----Original Message-----
> From: Mike Cannon-Brookes [mailto:mcannon@internet.com]
> Sent: Monday, 14 May 2001 11:37 AM
> To: pgsql-jdbc@postgresql.org
> Subject: [JDBC] Compiling JDBC Driver - impossible!
>
>
> Ok, I give up!
>
> How do I compile the JDBC driver? I'm running into those dreaded
> "InputStream as parameter not supported" errors with my
> current build, and
> as below this appears to have been fixed.
>
> So I've sucked down the latest source from CVS.
>
> Now how do I compile JUST the JDBC driver?
>
> I've tried
> - "ant" in both the root and /src/interfaces/jdbc directory
> - "./configure; ant" in both places
> - playing with the build file to add major and minor properties myself
>
> I still get errors about cannot compile {major}; etc.
>
> Can someone _please_ document the JDBC build process ? (Or
> simplify it!)
> IMHO (and I know we've had this argument before ;)) it should
> just be a
> single 'ant' call in the right place, I see no reason this
> couldn't work.
>
> -mike
>
>
> Mike Cannon-Brookes - Founder, Core Developer
> OpenSymphony - http://www.opensymphony.com
> "The Open Source J2EE Component Project"
>
> Latest News
> - Cache in on faster, more reliable JSPs
> http://www.javaworld.com/javaworld/jw-05-2001/jw-0504-cache.html
>
>
>
> > -----Original Message-----
> > From: pgsql-jdbc-owner@postgresql.org
> > [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Bruce Momjian
> > Sent: Monday, May 14, 2001 11:13 AM
> > To: Ho, Khanh
> > Cc: The Hermit Hacker; pgsql-jdbc@postgresql.org
> > Subject: Re: Displaying/Pulling Images using JDBC ...
> >
> >
> >
> > I am attaching a JDBC patch that is about to be applied for 7.2.
> > Perhaps this fixes the problem because it deals with BLOBS.
> >
> >
> > > Hi Marc,
> > >
> > > I seem to be having the same problem as you when trying to insert
> > > audio files into the database. They are inserted OK using
> > > PreparedStatement.setBinaryStream(), but the data is truncated
> > > when retrieved using PreparedStatement.getBinaryStream().
> > > This occurs using the jdbc7.1beta5 driver.
> > >
> > > Interestingly, when I try to use an older JDBC driver
> (jdbc7.1beta4), it
> > > manages to correctly read back the object stored by the
> > jdbc7.1beta5 driver.
> > > However, the jdbc7.1beta4 driver itself can't write the large
> > object to the
> > > database. It keeps throwing an exception:    InputStream as
> parameter not
> > > supported.
> > >
> > > Can you let me know if you find out the cause of the problem, or
> > > better still a solution?
> > >
> > > Thanks,
> > > Khanh Ho.
> > >
> > >
> > > > -----Original Message-----
> > > > From: The Hermit Hacker [mailto:scrappy@hub.org]
> > > > Sent: Sunday, 13 May 2001 2:45 AM
> > > > To: pgsql-jdbc@postgresql.org
> > > > Cc: peter@retep.org.uk
> > > > Subject: [JDBC] Displaying/Pulling Images using JDBC ...
> > > >
> > > >
> > > >
> > > >
> > > > Morning folks ...
> > > >
> > > >     Been wracking our brains on this one for too
> long now ... have a
> > > > client that is trying to use JDBC to pull images stored in
> > > > the database,
> > > > and, from what we can gather, the images are coming out
> > > > 'truncated' ...
> > > >
> > > >     If the client stores the images as ASCII
> (uuencoded) and pulls
> > > > those out, all works well, but if he stores them as
> > > > binary/raw images, the
> > > > images don't come out ...
> > > >
> > > >     If he retrieves that image using psql and
> stores it to a file,
> > > > that file is fine, so apparently the backend is storing it
> > > > properly ...
> > > >
> > > >     According to the table schema that we have, the
> image is being
> > > > stored as an 'oid' type ...
> > > >
> > > >         In relation to the image settings, they are
> counting the bytes
> > > > that the stream is going to send to the client and
> verifying it on the
> > > > clients side, the numbers are not matching unless it is
> an ascii based
> > > > file....
> > > >
> > > >     Both the backend server and the JDBC drivers
> are v7.1 ...
> > > >
> > > >     Now, my thought on this is that it *sounds*
> like the JDBC is
> > > > hitting some sort of control character is the stream that
> > > > tells it to stop
> > > > sending the image ... is this possible?  Some binary
> > > > character that needs
> > > > to somehow be trapped?
> > > >
> > > >     Image content is a mostly a faxed document
> saved as .tif format.
> > > > But it could be anything and we derive it from the file name.
> > > >  We upload
> > > > the document to the database.  Please See the source
> > > >
> > > >     Sample of the source they are using is as follows, is
> > > > there something
> > > > that we are seeing:
> > > >
> > > > PreparedStatement prepStmt =
> con.prepareStatement(selectstatement);
> > > > prepStmt.setString(1, medicalRecordId);
> > > > ResultSet rs = prepStmt.executeQuery();
> > > > if (rs.next()) {
> > > >   medicalRecordId = rs.getString(1);
> > > >   typeSOAP = rs.getString(2);
> > > >   code = rs.getString(3);
> > > >   String datetimetemp = rs.getString(4);
> > > >   datetime = Timestamp.valueOf(datetimetemp);
> > > >   testObject = rs.getString(5);
> > > >   testResult = rs.getString(6);
> > > >   note = rs.getString(7);
> > > >   appointmentId = rs.getString(8);
> > > >   patientId = rs.getString(9);
> > > >   test = rs.getString(10);
> > > >   category = rs.getString(11);
> > > >
> > > >   //if(imageName == null){
> > > >   if(imageNametemp != null){
> > > >      imageName = rs.getString(12);
> > > >
> > > >
> > > >      BufferedInputStream bis = new
> > > > BufferedInputStream(rs.getBinaryStream(13));
> > > >      System.out.println("value of bis"+bis.toString());
> > > >      //InputStream is = rs.getBinaryStream(13);
> > > >
> > > >      //System.out.println("vale of inputstream"+is.toString());
> > > >
> > > >      int TotLen=0;
> > > >
> > > >      ByteArrayOutputStream imageOutputStream = new
> > > > ByteArrayOutputStream(8164);
> > > >
> > > >      byte[] b = new byte[8164];
> > > >      int len=0;
> > > >
> > > >      try {
> > > >        while( (len = bis.read(b,0,8164)) != -1 ) {
> > > >          imageOutputStream.write(b,0,len);
> > > >
> > > >          TotLen += len;
> > > >        }
> > > >        bis.close();
> > > >        imageAsBytes = imageOutputStream.toByteArray();
> > > >
> > > >        System.out.println("value of
> baoslenght"+imageAsBytes.length);
> > > >        System.out.println("value of totlenght"+TotLen);
> > > >
> > > >        System.out.println("vale of
> > > > baos"+imageOutputStream.toString());
> > > >      }
> > > >      catch(IOException e) {
> > > >      }
> > > >   }
> > > >     prepStmt.close();
> > > >
> > > >
> > > > Marc G. Fournier                   ICQ#7615664
> > > > IRC Nick: Scrappy
> > > > Systems Administrator @ hub.org
> > > > primary: scrappy@hub.org           secondary:
> > > > scrappy@{freebsd|postgresql}.org
> > > >
> > > >
> > > > ---------------------------(end of
> > > > broadcast)---------------------------
> > > > TIP 2: you can get off all lists at once with the
> unregister command
> > > >     (send "unregister YourEmailAddressHere" to
> > > > majordomo@postgresql.org)
> > > >
> > >
> > > ---------------------------(end of
> broadcast)---------------------------
> > > TIP 5: Have you checked our extensive FAQ?
> > >
> > > http://www.postgresql.org/users-lounge/docs/faq.html
> > >
> >
> > --
> >   Bruce Momjian                        |  http://candle.pha.pa.us
> >   pgman@candle.pha.pa.us               |  (610) 853-3000
> >   +  If your life is a hard drive,     |  830 Blythe Avenue
> >   +  Christ can be your backup.        |  Drexel Hill,
> Pennsylvania 19026
> >
>
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to
> majordomo@postgresql.org
>

RE: Compiling JDBC Driver - impossible!

From
"Mike Cannon-Brookes"
Date:
I agree, this is an excellent idea. A repository of JDBC driver JARs for
each different Postgres release - good thinking.

Is there somewhere on the Postgres site we can store these / get them
mirrored?

-mike

Mike Cannon-Brookes - Founder, Core Developer
OpenSymphony - http://www.opensymphony.com
"The Open Source J2EE Component Project"

Latest News
- Cache in on faster, more reliable JSPs
http://www.javaworld.com/javaworld/jw-05-2001/jw-0504-cache.html



> -----Original Message-----
> From: pgsql-jdbc-owner@postgresql.org
> [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Joe Shevland
> Sent: Monday, May 14, 2001 11:34 AM
> To: 'Mike Cannon-Brookes'; pgsql-jdbc@postgresql.org
> Subject: RE: Compiling JDBC Driver - impossible!
>
>
> If anyone wants to submit to me successfully built Postgres JAR files (1.1
> and 1.2), I'm happy to create a site where people can download them... I
> guess it would be useful to have all manner of JARS (RC-x) available too.
>
> Let me know or just submit successfully built JAR's and I'll send
> a message
> to the list when the site is ready. I know I'd find this handy sometimes.
>
> Cheers,
> Joe
>
> > -----Original Message-----
> > From: Mike Cannon-Brookes [mailto:mcannon@internet.com]
> > Sent: Monday, 14 May 2001 11:37 AM
> > To: pgsql-jdbc@postgresql.org
> > Subject: [JDBC] Compiling JDBC Driver - impossible!
> >
> >
> > Ok, I give up!
> >
> > How do I compile the JDBC driver? I'm running into those dreaded
> > "InputStream as parameter not supported" errors with my
> > current build, and
> > as below this appears to have been fixed.
> >
> > So I've sucked down the latest source from CVS.
> >
> > Now how do I compile JUST the JDBC driver?
> >
> > I've tried
> > - "ant" in both the root and /src/interfaces/jdbc directory
> > - "./configure; ant" in both places
> > - playing with the build file to add major and minor properties myself
> >
> > I still get errors about cannot compile {major}; etc.
> >
> > Can someone _please_ document the JDBC build process ? (Or
> > simplify it!)
> > IMHO (and I know we've had this argument before ;)) it should
> > just be a
> > single 'ant' call in the right place, I see no reason this
> > couldn't work.
> >
> > -mike
> >
> >
> > Mike Cannon-Brookes - Founder, Core Developer
> > OpenSymphony - http://www.opensymphony.com
> > "The Open Source J2EE Component Project"
> >
> > Latest News
> > - Cache in on faster, more reliable JSPs
> > http://www.javaworld.com/javaworld/jw-05-2001/jw-0504-cache.html
> >
> >
> >
> > > -----Original Message-----
> > > From: pgsql-jdbc-owner@postgresql.org
> > > [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Bruce Momjian
> > > Sent: Monday, May 14, 2001 11:13 AM
> > > To: Ho, Khanh
> > > Cc: The Hermit Hacker; pgsql-jdbc@postgresql.org
> > > Subject: Re: Displaying/Pulling Images using JDBC ...
> > >
> > >
> > >
> > > I am attaching a JDBC patch that is about to be applied for 7.2.
> > > Perhaps this fixes the problem because it deals with BLOBS.
> > >
> > >
> > > > Hi Marc,
> > > >
> > > > I seem to be having the same problem as you when trying to insert
> > > > audio files into the database. They are inserted OK using
> > > > PreparedStatement.setBinaryStream(), but the data is truncated
> > > > when retrieved using PreparedStatement.getBinaryStream().
> > > > This occurs using the jdbc7.1beta5 driver.
> > > >
> > > > Interestingly, when I try to use an older JDBC driver
> > (jdbc7.1beta4), it
> > > > manages to correctly read back the object stored by the
> > > jdbc7.1beta5 driver.
> > > > However, the jdbc7.1beta4 driver itself can't write the large
> > > object to the
> > > > database. It keeps throwing an exception:    InputStream as
> > parameter not
> > > > supported.
> > > >
> > > > Can you let me know if you find out the cause of the problem, or
> > > > better still a solution?
> > > >
> > > > Thanks,
> > > > Khanh Ho.
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: The Hermit Hacker [mailto:scrappy@hub.org]
> > > > > Sent: Sunday, 13 May 2001 2:45 AM
> > > > > To: pgsql-jdbc@postgresql.org
> > > > > Cc: peter@retep.org.uk
> > > > > Subject: [JDBC] Displaying/Pulling Images using JDBC ...
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Morning folks ...
> > > > >
> > > > >     Been wracking our brains on this one for too
> > long now ... have a
> > > > > client that is trying to use JDBC to pull images stored in
> > > > > the database,
> > > > > and, from what we can gather, the images are coming out
> > > > > 'truncated' ...
> > > > >
> > > > >     If the client stores the images as ASCII
> > (uuencoded) and pulls
> > > > > those out, all works well, but if he stores them as
> > > > > binary/raw images, the
> > > > > images don't come out ...
> > > > >
> > > > >     If he retrieves that image using psql and
> > stores it to a file,
> > > > > that file is fine, so apparently the backend is storing it
> > > > > properly ...
> > > > >
> > > > >     According to the table schema that we have, the
> > image is being
> > > > > stored as an 'oid' type ...
> > > > >
> > > > >         In relation to the image settings, they are
> > counting the bytes
> > > > > that the stream is going to send to the client and
> > verifying it on the
> > > > > clients side, the numbers are not matching unless it is
> > an ascii based
> > > > > file....
> > > > >
> > > > >     Both the backend server and the JDBC drivers
> > are v7.1 ...
> > > > >
> > > > >     Now, my thought on this is that it *sounds*
> > like the JDBC is
> > > > > hitting some sort of control character is the stream that
> > > > > tells it to stop
> > > > > sending the image ... is this possible?  Some binary
> > > > > character that needs
> > > > > to somehow be trapped?
> > > > >
> > > > >     Image content is a mostly a faxed document
> > saved as .tif format.
> > > > > But it could be anything and we derive it from the file name.
> > > > >  We upload
> > > > > the document to the database.  Please See the source
> > > > >
> > > > >     Sample of the source they are using is as follows, is
> > > > > there something
> > > > > that we are seeing:
> > > > >
> > > > > PreparedStatement prepStmt =
> > con.prepareStatement(selectstatement);
> > > > > prepStmt.setString(1, medicalRecordId);
> > > > > ResultSet rs = prepStmt.executeQuery();
> > > > > if (rs.next()) {
> > > > >   medicalRecordId = rs.getString(1);
> > > > >   typeSOAP = rs.getString(2);
> > > > >   code = rs.getString(3);
> > > > >   String datetimetemp = rs.getString(4);
> > > > >   datetime = Timestamp.valueOf(datetimetemp);
> > > > >   testObject = rs.getString(5);
> > > > >   testResult = rs.getString(6);
> > > > >   note = rs.getString(7);
> > > > >   appointmentId = rs.getString(8);
> > > > >   patientId = rs.getString(9);
> > > > >   test = rs.getString(10);
> > > > >   category = rs.getString(11);
> > > > >
> > > > >   //if(imageName == null){
> > > > >   if(imageNametemp != null){
> > > > >      imageName = rs.getString(12);
> > > > >
> > > > >
> > > > >      BufferedInputStream bis = new
> > > > > BufferedInputStream(rs.getBinaryStream(13));
> > > > >      System.out.println("value of bis"+bis.toString());
> > > > >      //InputStream is = rs.getBinaryStream(13);
> > > > >
> > > > >      //System.out.println("vale of inputstream"+is.toString());
> > > > >
> > > > >      int TotLen=0;
> > > > >
> > > > >      ByteArrayOutputStream imageOutputStream = new
> > > > > ByteArrayOutputStream(8164);
> > > > >
> > > > >      byte[] b = new byte[8164];
> > > > >      int len=0;
> > > > >
> > > > >      try {
> > > > >        while( (len = bis.read(b,0,8164)) != -1 ) {
> > > > >          imageOutputStream.write(b,0,len);
> > > > >
> > > > >          TotLen += len;
> > > > >        }
> > > > >        bis.close();
> > > > >        imageAsBytes = imageOutputStream.toByteArray();
> > > > >
> > > > >        System.out.println("value of
> > baoslenght"+imageAsBytes.length);
> > > > >        System.out.println("value of totlenght"+TotLen);
> > > > >
> > > > >        System.out.println("vale of
> > > > > baos"+imageOutputStream.toString());
> > > > >      }
> > > > >      catch(IOException e) {
> > > > >      }
> > > > >   }
> > > > >     prepStmt.close();
> > > > >
> > > > >
> > > > > Marc G. Fournier                   ICQ#7615664
> > > > > IRC Nick: Scrappy
> > > > > Systems Administrator @ hub.org
> > > > > primary: scrappy@hub.org           secondary:
> > > > > scrappy@{freebsd|postgresql}.org
> > > > >
> > > > >
> > > > > ---------------------------(end of
> > > > > broadcast)---------------------------
> > > > > TIP 2: you can get off all lists at once with the
> > unregister command
> > > > >     (send "unregister YourEmailAddressHere" to
> > > > > majordomo@postgresql.org)
> > > > >
> > > >
> > > > ---------------------------(end of
> > broadcast)---------------------------
> > > > TIP 5: Have you checked our extensive FAQ?
> > > >
> > > > http://www.postgresql.org/users-lounge/docs/faq.html
> > > >
> > >
> > > --
> > >   Bruce Momjian                        |  http://candle.pha.pa.us
> > >   pgman@candle.pha.pa.us               |  (610) 853-3000
> > >   +  If your life is a hard drive,     |  830 Blythe Avenue
> > >   +  Christ can be your backup.        |  Drexel Hill,
> > Pennsylvania 19026
> > >
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 1: subscribe and unsubscribe commands go to
> > majordomo@postgresql.org
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html


Re: RE: Compiling JDBC Driver - impossible!

From
Bruce Momjian
Date:
FYI, I will be applying the outstanding JDBC patches to the main CVS
tree tomorrow:

    http://candle.pha.pa.us/cgi-bin/pgpatches


[ Charset ISO-8859-1 unsupported, converting... ]
> I agree, this is an excellent idea. A repository of JDBC driver JARs for
> each different Postgres release - good thinking.
>
> Is there somewhere on the Postgres site we can store these / get them
> mirrored?
>
> -mike
>
> Mike Cannon-Brookes - Founder, Core Developer
> OpenSymphony - http://www.opensymphony.com
> "The Open Source J2EE Component Project"
>
> Latest News
> - Cache in on faster, more reliable JSPs
> http://www.javaworld.com/javaworld/jw-05-2001/jw-0504-cache.html
>
>
>
> > -----Original Message-----
> > From: pgsql-jdbc-owner@postgresql.org
> > [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Joe Shevland
> > Sent: Monday, May 14, 2001 11:34 AM
> > To: 'Mike Cannon-Brookes'; pgsql-jdbc@postgresql.org
> > Subject: RE: Compiling JDBC Driver - impossible!
> >
> >
> > If anyone wants to submit to me successfully built Postgres JAR files (1.1
> > and 1.2), I'm happy to create a site where people can download them... I
> > guess it would be useful to have all manner of JARS (RC-x) available too.
> >
> > Let me know or just submit successfully built JAR's and I'll send
> > a message
> > to the list when the site is ready. I know I'd find this handy sometimes.
> >
> > Cheers,
> > Joe
> >
> > > -----Original Message-----
> > > From: Mike Cannon-Brookes [mailto:mcannon@internet.com]
> > > Sent: Monday, 14 May 2001 11:37 AM
> > > To: pgsql-jdbc@postgresql.org
> > > Subject: [JDBC] Compiling JDBC Driver - impossible!
> > >
> > >
> > > Ok, I give up!
> > >
> > > How do I compile the JDBC driver? I'm running into those dreaded
> > > "InputStream as parameter not supported" errors with my
> > > current build, and
> > > as below this appears to have been fixed.
> > >
> > > So I've sucked down the latest source from CVS.
> > >
> > > Now how do I compile JUST the JDBC driver?
> > >
> > > I've tried
> > > - "ant" in both the root and /src/interfaces/jdbc directory
> > > - "./configure; ant" in both places
> > > - playing with the build file to add major and minor properties myself
> > >
> > > I still get errors about cannot compile {major}; etc.
> > >
> > > Can someone _please_ document the JDBC build process ? (Or
> > > simplify it!)
> > > IMHO (and I know we've had this argument before ;)) it should
> > > just be a
> > > single 'ant' call in the right place, I see no reason this
> > > couldn't work.
> > >
> > > -mike
> > >
> > >
> > > Mike Cannon-Brookes - Founder, Core Developer
> > > OpenSymphony - http://www.opensymphony.com
> > > "The Open Source J2EE Component Project"
> > >
> > > Latest News
> > > - Cache in on faster, more reliable JSPs
> > > http://www.javaworld.com/javaworld/jw-05-2001/jw-0504-cache.html
> > >
> > >
> > >
> > > > -----Original Message-----
> > > > From: pgsql-jdbc-owner@postgresql.org
> > > > [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Bruce Momjian
> > > > Sent: Monday, May 14, 2001 11:13 AM
> > > > To: Ho, Khanh
> > > > Cc: The Hermit Hacker; pgsql-jdbc@postgresql.org
> > > > Subject: Re: Displaying/Pulling Images using JDBC ...
> > > >
> > > >
> > > >
> > > > I am attaching a JDBC patch that is about to be applied for 7.2.
> > > > Perhaps this fixes the problem because it deals with BLOBS.
> > > >
> > > >
> > > > > Hi Marc,
> > > > >
> > > > > I seem to be having the same problem as you when trying to insert
> > > > > audio files into the database. They are inserted OK using
> > > > > PreparedStatement.setBinaryStream(), but the data is truncated
> > > > > when retrieved using PreparedStatement.getBinaryStream().
> > > > > This occurs using the jdbc7.1beta5 driver.
> > > > >
> > > > > Interestingly, when I try to use an older JDBC driver
> > > (jdbc7.1beta4), it
> > > > > manages to correctly read back the object stored by the
> > > > jdbc7.1beta5 driver.
> > > > > However, the jdbc7.1beta4 driver itself can't write the large
> > > > object to the
> > > > > database. It keeps throwing an exception:    InputStream as
> > > parameter not
> > > > > supported.
> > > > >
> > > > > Can you let me know if you find out the cause of the problem, or
> > > > > better still a solution?
> > > > >
> > > > > Thanks,
> > > > > Khanh Ho.
> > > > >
> > > > >
> > > > > > -----Original Message-----
> > > > > > From: The Hermit Hacker [mailto:scrappy@hub.org]
> > > > > > Sent: Sunday, 13 May 2001 2:45 AM
> > > > > > To: pgsql-jdbc@postgresql.org
> > > > > > Cc: peter@retep.org.uk
> > > > > > Subject: [JDBC] Displaying/Pulling Images using JDBC ...
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > Morning folks ...
> > > > > >
> > > > > >     Been wracking our brains on this one for too
> > > long now ... have a
> > > > > > client that is trying to use JDBC to pull images stored in
> > > > > > the database,
> > > > > > and, from what we can gather, the images are coming out
> > > > > > 'truncated' ...
> > > > > >
> > > > > >     If the client stores the images as ASCII
> > > (uuencoded) and pulls
> > > > > > those out, all works well, but if he stores them as
> > > > > > binary/raw images, the
> > > > > > images don't come out ...
> > > > > >
> > > > > >     If he retrieves that image using psql and
> > > stores it to a file,
> > > > > > that file is fine, so apparently the backend is storing it
> > > > > > properly ...
> > > > > >
> > > > > >     According to the table schema that we have, the
> > > image is being
> > > > > > stored as an 'oid' type ...
> > > > > >
> > > > > >         In relation to the image settings, they are
> > > counting the bytes
> > > > > > that the stream is going to send to the client and
> > > verifying it on the
> > > > > > clients side, the numbers are not matching unless it is
> > > an ascii based
> > > > > > file....
> > > > > >
> > > > > >     Both the backend server and the JDBC drivers
> > > are v7.1 ...
> > > > > >
> > > > > >     Now, my thought on this is that it *sounds*
> > > like the JDBC is
> > > > > > hitting some sort of control character is the stream that
> > > > > > tells it to stop
> > > > > > sending the image ... is this possible?  Some binary
> > > > > > character that needs
> > > > > > to somehow be trapped?
> > > > > >
> > > > > >     Image content is a mostly a faxed document
> > > saved as .tif format.
> > > > > > But it could be anything and we derive it from the file name.
> > > > > >  We upload
> > > > > > the document to the database.  Please See the source
> > > > > >
> > > > > >     Sample of the source they are using is as follows, is
> > > > > > there something
> > > > > > that we are seeing:
> > > > > >
> > > > > > PreparedStatement prepStmt =
> > > con.prepareStatement(selectstatement);
> > > > > > prepStmt.setString(1, medicalRecordId);
> > > > > > ResultSet rs = prepStmt.executeQuery();
> > > > > > if (rs.next()) {
> > > > > >   medicalRecordId = rs.getString(1);
> > > > > >   typeSOAP = rs.getString(2);
> > > > > >   code = rs.getString(3);
> > > > > >   String datetimetemp = rs.getString(4);
> > > > > >   datetime = Timestamp.valueOf(datetimetemp);
> > > > > >   testObject = rs.getString(5);
> > > > > >   testResult = rs.getString(6);
> > > > > >   note = rs.getString(7);
> > > > > >   appointmentId = rs.getString(8);
> > > > > >   patientId = rs.getString(9);
> > > > > >   test = rs.getString(10);
> > > > > >   category = rs.getString(11);
> > > > > >
> > > > > >   //if(imageName == null){
> > > > > >   if(imageNametemp != null){
> > > > > >      imageName = rs.getString(12);
> > > > > >
> > > > > >
> > > > > >      BufferedInputStream bis = new
> > > > > > BufferedInputStream(rs.getBinaryStream(13));
> > > > > >      System.out.println("value of bis"+bis.toString());
> > > > > >      //InputStream is = rs.getBinaryStream(13);
> > > > > >
> > > > > >      //System.out.println("vale of inputstream"+is.toString());
> > > > > >
> > > > > >      int TotLen=0;
> > > > > >
> > > > > >      ByteArrayOutputStream imageOutputStream = new
> > > > > > ByteArrayOutputStream(8164);
> > > > > >
> > > > > >      byte[] b = new byte[8164];
> > > > > >      int len=0;
> > > > > >
> > > > > >      try {
> > > > > >        while( (len = bis.read(b,0,8164)) != -1 ) {
> > > > > >          imageOutputStream.write(b,0,len);
> > > > > >
> > > > > >          TotLen += len;
> > > > > >        }
> > > > > >        bis.close();
> > > > > >        imageAsBytes = imageOutputStream.toByteArray();
> > > > > >
> > > > > >        System.out.println("value of
> > > baoslenght"+imageAsBytes.length);
> > > > > >        System.out.println("value of totlenght"+TotLen);
> > > > > >
> > > > > >        System.out.println("vale of
> > > > > > baos"+imageOutputStream.toString());
> > > > > >      }
> > > > > >      catch(IOException e) {
> > > > > >      }
> > > > > >   }
> > > > > >     prepStmt.close();
> > > > > >
> > > > > >
> > > > > > Marc G. Fournier                   ICQ#7615664
> > > > > > IRC Nick: Scrappy
> > > > > > Systems Administrator @ hub.org
> > > > > > primary: scrappy@hub.org           secondary:
> > > > > > scrappy@{freebsd|postgresql}.org
> > > > > >
> > > > > >
> > > > > > ---------------------------(end of
> > > > > > broadcast)---------------------------
> > > > > > TIP 2: you can get off all lists at once with the
> > > unregister command
> > > > > >     (send "unregister YourEmailAddressHere" to
> > > > > > majordomo@postgresql.org)
> > > > > >
> > > > >
> > > > > ---------------------------(end of
> > > broadcast)---------------------------
> > > > > TIP 5: Have you checked our extensive FAQ?
> > > > >
> > > > > http://www.postgresql.org/users-lounge/docs/faq.html
> > > > >
> > > >
> > > > --
> > > >   Bruce Momjian                        |  http://candle.pha.pa.us
> > > >   pgman@candle.pha.pa.us               |  (610) 853-3000
> > > >   +  If your life is a hard drive,     |  830 Blythe Avenue
> > > >   +  Christ can be your backup.        |  Drexel Hill,
> > > Pennsylvania 19026
> > > >
> > >
> > >
> > > ---------------------------(end of
> > > broadcast)---------------------------
> > > TIP 1: subscribe and unsubscribe commands go to
> > > majordomo@postgresql.org
> > >
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 5: Have you checked our extensive FAQ?
> >
> > http://www.postgresql.org/users-lounge/docs/faq.html
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to majordomo@postgresql.org so that your
> message can get through to the mailing list cleanly
>

--
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman@candle.pha.pa.us               |  (610) 853-3000
  +  If your life is a hard drive,     |  830 Blythe Avenue
  +  Christ can be your backup.        |  Drexel Hill, Pennsylvania 19026

Re: Compiling JDBC Driver - impossible!

From
"Dave Cramer"
Date:
Already done

http://jdbc.fastcrypt.com

These are unpatched 7.1 builds. As soon as the cvs source is patched, I will
update them

Dave
----- Original Message -----
From: "Joe Shevland" <J.Shevland@eclipsegroup.com.au>
To: "'Mike Cannon-Brookes'" <mcannon@internet.com>;
<pgsql-jdbc@postgresql.org>
Sent: Sunday, May 13, 2001 9:34 PM
Subject: RE: [JDBC] Compiling JDBC Driver - impossible!


> If anyone wants to submit to me successfully built Postgres JAR files (1.1
> and 1.2), I'm happy to create a site where people can download them... I
> guess it would be useful to have all manner of JARS (RC-x) available too.
>
> Let me know or just submit successfully built JAR's and I'll send a
message
> to the list when the site is ready. I know I'd find this handy sometimes.
>
> Cheers,
> Joe
>
> > -----Original Message-----
> > From: Mike Cannon-Brookes [mailto:mcannon@internet.com]
> > Sent: Monday, 14 May 2001 11:37 AM
> > To: pgsql-jdbc@postgresql.org
> > Subject: [JDBC] Compiling JDBC Driver - impossible!
> >
> >
> > Ok, I give up!
> >
> > How do I compile the JDBC driver? I'm running into those dreaded
> > "InputStream as parameter not supported" errors with my
> > current build, and
> > as below this appears to have been fixed.
> >
> > So I've sucked down the latest source from CVS.
> >
> > Now how do I compile JUST the JDBC driver?
> >
> > I've tried
> > - "ant" in both the root and /src/interfaces/jdbc directory
> > - "./configure; ant" in both places
> > - playing with the build file to add major and minor properties myself
> >
> > I still get errors about cannot compile {major}; etc.
> >
> > Can someone _please_ document the JDBC build process ? (Or
> > simplify it!)
> > IMHO (and I know we've had this argument before ;)) it should
> > just be a
> > single 'ant' call in the right place, I see no reason this
> > couldn't work.
> >
> > -mike
> >
> >
> > Mike Cannon-Brookes - Founder, Core Developer
> > OpenSymphony - http://www.opensymphony.com
> > "The Open Source J2EE Component Project"
> >
> > Latest News
> > - Cache in on faster, more reliable JSPs
> > http://www.javaworld.com/javaworld/jw-05-2001/jw-0504-cache.html
> >
> >
> >
> > > -----Original Message-----
> > > From: pgsql-jdbc-owner@postgresql.org
> > > [mailto:pgsql-jdbc-owner@postgresql.org]On Behalf Of Bruce Momjian
> > > Sent: Monday, May 14, 2001 11:13 AM
> > > To: Ho, Khanh
> > > Cc: The Hermit Hacker; pgsql-jdbc@postgresql.org
> > > Subject: Re: Displaying/Pulling Images using JDBC ...
> > >
> > >
> > >
> > > I am attaching a JDBC patch that is about to be applied for 7.2.
> > > Perhaps this fixes the problem because it deals with BLOBS.
> > >
> > >
> > > > Hi Marc,
> > > >
> > > > I seem to be having the same problem as you when trying to insert
> > > > audio files into the database. They are inserted OK using
> > > > PreparedStatement.setBinaryStream(), but the data is truncated
> > > > when retrieved using PreparedStatement.getBinaryStream().
> > > > This occurs using the jdbc7.1beta5 driver.
> > > >
> > > > Interestingly, when I try to use an older JDBC driver
> > (jdbc7.1beta4), it
> > > > manages to correctly read back the object stored by the
> > > jdbc7.1beta5 driver.
> > > > However, the jdbc7.1beta4 driver itself can't write the large
> > > object to the
> > > > database. It keeps throwing an exception: InputStream as
> > parameter not
> > > > supported.
> > > >
> > > > Can you let me know if you find out the cause of the problem, or
> > > > better still a solution?
> > > >
> > > > Thanks,
> > > > Khanh Ho.
> > > >
> > > >
> > > > > -----Original Message-----
> > > > > From: The Hermit Hacker [mailto:scrappy@hub.org]
> > > > > Sent: Sunday, 13 May 2001 2:45 AM
> > > > > To: pgsql-jdbc@postgresql.org
> > > > > Cc: peter@retep.org.uk
> > > > > Subject: [JDBC] Displaying/Pulling Images using JDBC ...
> > > > >
> > > > >
> > > > >
> > > > >
> > > > > Morning folks ...
> > > > >
> > > > > Been wracking our brains on this one for too
> > long now ... have a
> > > > > client that is trying to use JDBC to pull images stored in
> > > > > the database,
> > > > > and, from what we can gather, the images are coming out
> > > > > 'truncated' ...
> > > > >
> > > > > If the client stores the images as ASCII
> > (uuencoded) and pulls
> > > > > those out, all works well, but if he stores them as
> > > > > binary/raw images, the
> > > > > images don't come out ...
> > > > >
> > > > > If he retrieves that image using psql and
> > stores it to a file,
> > > > > that file is fine, so apparently the backend is storing it
> > > > > properly ...
> > > > >
> > > > > According to the table schema that we have, the
> > image is being
> > > > > stored as an 'oid' type ...
> > > > >
> > > > >         In relation to the image settings, they are
> > counting the bytes
> > > > > that the stream is going to send to the client and
> > verifying it on the
> > > > > clients side, the numbers are not matching unless it is
> > an ascii based
> > > > > file....
> > > > >
> > > > > Both the backend server and the JDBC drivers
> > are v7.1 ...
> > > > >
> > > > > Now, my thought on this is that it *sounds*
> > like the JDBC is
> > > > > hitting some sort of control character is the stream that
> > > > > tells it to stop
> > > > > sending the image ... is this possible?  Some binary
> > > > > character that needs
> > > > > to somehow be trapped?
> > > > >
> > > > > Image content is a mostly a faxed document
> > saved as .tif format.
> > > > > But it could be anything and we derive it from the file name.
> > > > >  We upload
> > > > > the document to the database.  Please See the source
> > > > >
> > > > > Sample of the source they are using is as follows, is
> > > > > there something
> > > > > that we are seeing:
> > > > >
> > > > > PreparedStatement prepStmt =
> > con.prepareStatement(selectstatement);
> > > > > prepStmt.setString(1, medicalRecordId);
> > > > > ResultSet rs = prepStmt.executeQuery();
> > > > > if (rs.next()) {
> > > > >   medicalRecordId = rs.getString(1);
> > > > >   typeSOAP = rs.getString(2);
> > > > >   code = rs.getString(3);
> > > > >   String datetimetemp = rs.getString(4);
> > > > >   datetime = Timestamp.valueOf(datetimetemp);
> > > > >   testObject = rs.getString(5);
> > > > >   testResult = rs.getString(6);
> > > > >   note = rs.getString(7);
> > > > >   appointmentId = rs.getString(8);
> > > > >   patientId = rs.getString(9);
> > > > >   test = rs.getString(10);
> > > > >   category = rs.getString(11);
> > > > >
> > > > >   //if(imageName == null){
> > > > >   if(imageNametemp != null){
> > > > >      imageName = rs.getString(12);
> > > > >
> > > > >
> > > > >      BufferedInputStream bis = new
> > > > > BufferedInputStream(rs.getBinaryStream(13));
> > > > >      System.out.println("value of bis"+bis.toString());
> > > > >      //InputStream is = rs.getBinaryStream(13);
> > > > >
> > > > >      //System.out.println("vale of inputstream"+is.toString());
> > > > >
> > > > >      int TotLen=0;
> > > > >
> > > > >      ByteArrayOutputStream imageOutputStream = new
> > > > > ByteArrayOutputStream(8164);
> > > > >
> > > > >      byte[] b = new byte[8164];
> > > > >      int len=0;
> > > > >
> > > > >      try {
> > > > >        while( (len = bis.read(b,0,8164)) != -1 ) {
> > > > >          imageOutputStream.write(b,0,len);
> > > > >
> > > > >          TotLen += len;
> > > > >        }
> > > > >        bis.close();
> > > > >        imageAsBytes = imageOutputStream.toByteArray();
> > > > >
> > > > >        System.out.println("value of
> > baoslenght"+imageAsBytes.length);
> > > > >        System.out.println("value of totlenght"+TotLen);
> > > > >
> > > > >        System.out.println("vale of
> > > > > baos"+imageOutputStream.toString());
> > > > >      }
> > > > >      catch(IOException e) {
> > > > >      }
> > > > >   }
> > > > >     prepStmt.close();
> > > > >
> > > > >
> > > > > Marc G. Fournier                   ICQ#7615664
> > > > > IRC Nick: Scrappy
> > > > > Systems Administrator @ hub.org
> > > > > primary: scrappy@hub.org           secondary:
> > > > > scrappy@{freebsd|postgresql}.org
> > > > >
> > > > >
> > > > > ---------------------------(end of
> > > > > broadcast)---------------------------
> > > > > TIP 2: you can get off all lists at once with the
> > unregister command
> > > > >     (send "unregister YourEmailAddressHere" to
> > > > > majordomo@postgresql.org)
> > > > >
> > > >
> > > > ---------------------------(end of
> > broadcast)---------------------------
> > > > TIP 5: Have you checked our extensive FAQ?
> > > >
> > > > http://www.postgresql.org/users-lounge/docs/faq.html
> > > >
> > >
> > > --
> > >   Bruce Momjian                        |  http://candle.pha.pa.us
> > >   pgman@candle.pha.pa.us               |  (610) 853-3000
> > >   +  If your life is a hard drive,     |  830 Blythe Avenue
> > >   +  Christ can be your backup.        |  Drexel Hill,
> > Pennsylvania 19026
> > >
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 1: subscribe and unsubscribe commands go to
> > majordomo@postgresql.org
> >
>
> ---------------------------(end of broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
>
>