Hi everybody,

I gotta this problem while I was trying to work with weblogic and postgresql with storing images as byte arrays.

First, I used JBOSS-2.2.2  as an application server and Postgresql-7.0.3 as a database serevr to run one of my Java enterprise applications. There I used "OID" data type to store images, and worked fine with the above combination. I used jdbc7.0-1.2.jar as a postgresql  jdbc driver. 

Please look at the sample codes given below.

InputStream banner;
String bannerID = "some id';
PreparedStatement pstmt =
                dbConnection.prepareStatement(���Insert into tablename (BannerID, Banner)  values(?,?)���);
int NoOfBytes = banner.available();
byte[] bytebuffer = new byte[NoOfBytes];
banner.read(bytebuffer);
pstmt.setString(1, bannerID);
pstmt.setBytes(2, bytebuffer);  
int resultCount =  pstmt.executeUpdate();

After this, I successfully deployed this application in weblogic-6.0 using the same Postgresql database and the jdbc driver. There, some other database accessing parts worked fine, but the above image thing is not worked and gave an error message like "FastPath call returned ERROR: lo_write: invalid large obj descriptor (0)".

I think nothing wrong with the codes...and can be a driver problem with weblogic..Can anybody explain the above pls. 

Thankx,

Peiris


Get 250 color business cards for FREE!
http://businesscards.lycos.com/vp/fastpath/

Mon, 16 Jul 2001 09:43:23 +0530
"Sanath Peiris" <bspeiris@lycos.com>
PGSQL problem with weblogic and OID data type
Sanath Peiris wrote:
> 
> Hi everybody,
> 
> I gotta this problem while I was trying to work with weblogic and postgresql with storing images as byte arrays.
> 
> First, I used JBOSS-2.2.2  as an application server and Postgresql-7.0.3 as a database serevr to run one of my Java enterprise applications. There I used "OID" data type to store images, and worked fine with the above combination. I used jdbc7.0-1.2.jar as a postgresql  jdbc driver.
> 
> Please look at the sample codes given below.
> 
> InputStream banner;
> String bannerID = "some id';
> PreparedStatement pstmt =
>                 dbConnection.prepareStatement(?Insert into tablename (BannerID, Banner)  values(?,?)?);
> int NoOfBytes = banner.available();
> byte[] bytebuffer = new byte[NoOfBytes];
> banner.read(bytebuffer);
> pstmt.setString(1, bannerID);
> pstmt.setBytes(2, bytebuffer);
> int resultCount =  pstmt.executeUpdate();
> 
> After this, I successfully deployed this application in weblogic-6.0 using the same Postgresql database and the jdbc driver. There, some other database accessing parts worked fine, but the above image thing is not worked and gave an error message like "FastPath call returned ERROR: lo_write: invalid large obj descriptor (0)".
> 
> I think nothing wrong with the codes...and can be a driver problem with weblogic..Can anybody explain the above pls.


Sanath

Dont know if anybody replied to your question yet. But you should set
your AutoCommit to false e.a conn.setAutoCommit(false); Do this before
you execute your preparedstatement.
That should fix your problem.

Regards
Phillip

Tue, 17 Jul 2001 08:51:47 +0200
Phillip F Jansen <pfj@ucs.co.za>
Re: PGSQL problem with weblogic and OID data type