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

Reply via email to