As slightly less of a hack, how about writing an oracle-driver specific jca wrapper that takes care of Oracle non-spec compliance?
You need to modify prepared statement, right? How about the resultset? So far I haven't wrapped the result set but have been asked to by 2 people. BTW do either of you have oracle xa working with jboss 3? Thanks david jencks On 2002.05.19 16:33:22 -0400 Dain Sundstrom wrote: > Sacha, > > Besides Oracle's drivers being a crap, the CLOB and all SQL 99 types > could use improvement. Supposedly Oracle's new 9.0.2 drivers fix most > of these problems. Fixing general Object persistence is the first think > I will be working on after I finish the docs (this week), so I will look > at this then. I am even planing on putting a hack in just for Oracle's > BLOB problems, so I can also put one in for CLOBS. Normally I wouldn't > put a hack in for a vendor but Oracle it to huge. The flag of this > option will be some thing <oracle-sucks-and-i-use-it>. =) > > -dain > > Sacha Labourey wrote: > > > Hello Dain, > > > > I had to look at the JAWS code and how it handled CLOB and have found > > numerous issues (see my previous post on jboss-dev). > > > > I've quickly taken a look at the new ejb2.0 code you implemented and > saw > > that you're using about the same code for CLOBs. Thus, I think that > your > > code will have trouble handling CLOBs. > > > > Some quick info I found by looking at jaws: > > > > - the "read-CLOB" code is actually never used: the code is there but is > > never reached. The code tests if the field is a string and try to read > it > > from the recordset by using getString. In Oracle, for example, this > will > > return null and not raise an exception => null is assigned to the CMP > field > > even if the CLOB contains data. A check should be added to use the CLOB > code > > if Type.CLOB has been assigned as the JDBC type of the CMP field. > > > > - the "write-CLOB" code handles BLOB and CLOB in the same way => like > binary > > content. This leads to several problems. > > First, the String is wrapped in a MarshalledObject and transformed in a > > byte[] then persisted in the database => the string that is persisted > in the > > database is unreadable by any other application (because it is > Java-encoded) > > and no SQL Clob-operators can be used in queries. > > Second, and this is more an Oracle issue, we have trouble sending back > a > > Clob to the driver. Either we use preparedStatement.setClob or > > preparedStatement.setCharacterStream. I've tried to modify JAWS so it > uses > > preparedStatement.setClob and I have coded a new class that implements > > java.sql.Clob (and containing the String) that I send to the > > preparedStatement. Here, we have an Oracle problem: this driver expects > a > > oracle.sql.Clob object (and is thus not spec compliant): a > CastException > > occurs. So it doesn't work. Secondly, I've used setCharacterStream. I > think > > it is the best solution. Nevertheless, we still have a problem: it will > only > > work with Oracle OCI driver, not the thin driver!!! So I haven't been > able > > to test the code (but at least it works with thin when strings are < > 2k). > > > > What do you think? > > > > 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