Hello Georg, Sorry but we don't speak about the same call. I was speaking about:
PreparedStatement stmt = ... ... stmt.setCharacterStream (columnId, new StringReader (myBigString), myBigString.length) ... With JAWS, we don't cache the CLOB object we receive when making the call => we can't use it when writing back the data => we need to either create a brand new oracle.sql.CLOB object or use the PreparedStatement.setCharacterStream method. Have you tried it (successfuly) this way? Cheers, Sacha > -----Message d'origine----- > De : [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]De la part de > Georg Schmid > Envoye : lundi, 20 mai 2002 14:37 > A : [EMAIL PROTECTED] > Objet : RE: [JBoss-dev] CMP2.0 and CLOB: same as JAWS > > > > Hi, > > the code to fill the clob looks like that: > > Writer outstream = clob.getCharacterOutputStream(); > > int i = 0; > int chunk = 10; > > while (i < length) > { > outstream.write(i + "hello world", 0, chunk); > > i += chunk; > if (length - i < chunk) > chunk = (int) length - i; > } > outstream.close(); > > The clob is of course a CLOB, as I said. > > Naming this function fillClob(int length) and calling fillClob(16000) > works for me, using the thin driver. > The server is 8.1.7 on a Solaris box, but I'm sure it works with the > windows box, too. > > Georg > > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]] On Behalf Of > Sacha Labourey > Sent: Monday, May 20, 2002 13:57 > To: [EMAIL PROTECTED] > Subject: RE: [JBoss-dev] CMP2.0 and CLOB: same as JAWS > > > Hello, > > > I would post the code here, but I'm not sure whether Oracle's license > > puts any restriction on publishing their demo code. Basically they use > > > their BLOB and CLOB classes and > > getCharacterStream()/getBinaryStream() > > to read the data, and > > getCharacterOutputStream()/getBinaryOutputStream() > > to write the data. > > OK, but their readme file for driver v8.1.7 and v9.0.1 indicates that > calling getCharacterOutputStream (CLOB) will only work with OCI, not > Thin => the only solution is to use setClob passing an instance of > oracle.sql.Clob. Passing a class implementing java.sql.Clob results in a > ClassCastException in Oracle's code... > > Calling getCharacterOutputStream and passing the string *will* work with > the THIN driver *only* with small strings (<2k I guess). With bigger > string, it will fail. Are you sure you've succedded your tests with > *big* strings? > > But I agree, we will have to put some Oracle (or any other db) specific > code in some cases. BEA WL, for example, has the support (in its > PreparedStatement interface) for setClob *and* setCLOB. This last being > an > *oracle* specific method because it wants an Oracle CLOB object, not a > simple object implementing java.sql.Clob!... > > Cheers, > > > > Sacha > > > _______________________________________________________________ > Hundreds of nodes, one monster rendering program. > Now that's a super model! Visit http://clustering.foundries.sf.net/ > > _______________________________________________ > Jboss-development mailing list [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > > > _______________________________________________________________ > Hundreds of nodes, one monster rendering program. > Now that's a super model! Visit http://clustering.foundries.sf.net/ > > _______________________________________________ > Jboss-development mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-development > _______________________________________________________________ Hundreds of nodes, one monster rendering program. Now that's a super model! Visit http://clustering.foundries.sf.net/ _______________________________________________ Jboss-development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development