Re: [GENERAL] Storing/retreiving Large Objects

From: Wieger Uffink <wieger(at)usmedia(dot)nl>
To: Barry Lind <barry(at)xythos(dot)com>
Cc: pgsql-jdbc(at)postgresql(dot)org
Subject: Re: [GENERAL] Storing/retreiving Large Objects
Date: 2002-01-09 19:31:36
Message-ID: 1010604696.1413.13.camel@barcelona.usmedia.nep
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-jdbc

Thanks for the info, I have taking the general list of the cc.

I have managed to get it to work by taking the poolman connection pooler
out of the equation, and connecting directly through the jdbc (version
7.1). So I guess i need to look for the solution in the poolman package.

THanks
WIeger

On Wed, 2002-01-09 at 19:11, Barry Lind wrote:
> FYI. This should have gone to the pgsql-jdbc mail list instead of
> pgsql-general.
>
> What version are you using? This area of the code has undergone some
> significant work in 7.2. I would suggest you try using the 7.2 jdbc
> code (which will run fine against a 7.1 database). Also look at the 7.2
> documentation as it also has been updated significantly in this area.
>
> I cannot reproduce your problem using the 7.2 drivers given the test
> case below.
>
> thanks,
> --Barry
>
>
>
>
> Wieger Uffink wrote:
>
> > Hi,
> >
> > Im trying to store images in my postgres db through jdbc access. The
> > connections are pooled through poolman. So far I have only tried to get
> > the manual's example in section 8.5 to work. Ive included the example
> > below.
> >
> > I have literally c&p the example and the inserting the image seems to go
> > well since it results in populated row in table 'images'.
> > WHen I try to retreive the the image either through ps.getBinaryStream()
> > or ps.getBlob() I get a Class cast exception thrown at me, nl:
> >
> > java.lang.ClassCastException: java.lang.Integer
> > at
> > com.codestudio.sql.PoolManResultSet.getBlob(PoolManResultSet.java:414)
> >
> > Apparently the oid stored in the table is retreived as an integer, which
> > obviously cannot be cast into a BinaryStream.
> > ANyone have any idea what could be going wrong here? Maybe some poolman
> > type mapping configuration or something.
> >
> > Thanks in advance,
> > Wieger
> >
> >
> >
> > //Example 8-2. Using the JDBC Large Object Interface
> >
> > //For example, suppose you have a table containing the file name of an
> > //image and you have a large object containing that image:
> >
> > //CREATE TABLE images (imgname text, imgoid oid);
> >
> > //To insert an image, you would use:
> >
> > File file = new File("myimage.gif");
> > FileInputStream fis = new FileInputStream(file);
> > PreparedStatement ps = conn.prepareStatement("INSERT INTO images VALUES
> > (?, ?)"); (1)
> > ps.setString(1, file.getName());
> > ps.setBinaryStream(2, fis, file.length());
> > ps.executeUpdate();
> > ps.close();
> > fis.close();
> >
> > //retreiving
> > 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();
> >
> >
> >
>
>
>
--

Wieger Uffink
tel: +31 20 468 6868
fax: +31 20 470 6905
web: http://www.usmedia.nl
email: wieger(at)usmedia(dot)nl

--

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Doug McNaught 2002-01-09 20:00:04 Re: Query planner isn't using my indices
Previous Message Tom Lane 2002-01-09 19:25:09 Re: PSQL core dumps

Browse pgsql-jdbc by date

  From Date Subject
Next Message David Hooker 2002-01-09 20:52:55 Need to use JDK 1.4
Previous Message Dave Cramer 2002-01-09 19:25:24 Re: postgresql JDBC error