Return-Path: Mailing-List: contact ojb-dev-help@db.apache.org; run by ezmlm Delivered-To: mailing list ojb-dev@db.apache.org Received: (qmail 90508 invoked from network); 21 May 2003 12:50:13 -0000 Received: from unknown (HELO dozer.whisperwire.com) (65.112.186.67) by daedalus.apache.org with SMTP; 21 May 2003 12:50:13 -0000 content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Subject: RE: Oracle 9i BLOB malfunction / 4k mystery (issue OJB170) X-MimeOLE: Produced By Microsoft Exchange V6.0.6249.0 Date: Wed, 21 May 2003 07:50:10 -0500 Message-ID: <3BA212AF4C35DF4EAED65864F20F6C9E1F1588@dozer.whisperwire.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Oracle 9i BLOB malfunction / 4k mystery (issue OJB170) Thread-Index: AcMfVnig358fNka5Qaq9D+iDMmBTgQAQMS7g From: "Lance Eason" To: "OJB Developers List" , X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N PersistenceBroker.serviceConnectionManager().getConnection() gives you = back the underlying JDBC connection from which you can do anything. -----Original Message----- From: 1075244@imap.gmx.net [mailto:1075244@imap.gmx.net] Sent: Tuesday, May 20, 2003 3:54 AM To: ojb-dev@db.apache.org Subject: RE: Oracle 9i BLOB malfunction / 4k mystery (issue OJB170) >> I realized after I wrote the note that OJB let's you access the JDBC layer so you can work around it yourself. How would that work? I did not find a way to navigate from the PersistenceBroker to any JDBC connection. There is a serviceJDBC but = this one still is an encapulation of the JDBC level which does not let you = fire arbitrary statements to the database. Torsten Original Message: ----------------- From: Lance Eason lance.eason@whisperwire.com Date: Thu, 15 May 2003 16:17:35 -0500 To: ojb-dev@db.apache.org, thma@apache.org Subject: RE: Oracle 9i BLOB malfunction / 4k mystery (issue OJB170) Yeah, you're right. I realized after I wrote the note that OJB let's = you access the JDBC layer so you can work around it yourself. As one of the people burned by this problem I'd actually be perfectly happy if core = OJB wasn't modified but the problem was clearly documented and sample workaround code was provided and ideally some patch utility class was provided to do the repetitive work of doing the SELECT FOR UPDATE and writing out the contents. -----Original Message----- From: Thomas Mahler [mailto:thma32@web.de] Sent: Thursday, May 15, 2003 2:15 PM To: OJB Developers List Subject: Re: Oracle 9i BLOB malfunction / 4k mystery (issue OJB170) Hi angain Lance Eason wrote: > I'll answer the first question. It is most definitely an Oracle bug. > Regardless it is important that OJB address it in my opinion. =20 +1 > Users > using JDBC directly can work around this bug, users using OJB > currently cannot. =20 As it's pretty OK to use OJB to obtain JDBC connections you can use OJB=20 *and* use direct JDBC calls to work around this problem. > That creates a decision point when BLOB/CLOB data > is required of use Oracle or use OJB and to most people the DBMS is > going to be the higher priority. don't agree, see above. >=20 > And yes the OCI driver does not exhibit this bug but it is not always > possible to use the OCI driver. First it requires an Oracle client > installation on each machine and second it is native code and at > least for Oracle 8.1.7 is flaky (many, many SEGFAULTs in our recent > load testing). As I mentioned in my other mail, Oracle seems to have fixed the=20 CLOB/BLOB problems with the thin driver in their latest release! I think we should further investigate this before launching bug fix=20 rampage. ;-) cheers, thomas >=20 > -----Original Message----- From: Torsten Schlabach > [mailto:TSchlabach@gmx.net] Sent: Thursday, May 15, 2003 6:29 AM To: > ojb-dev@db.apache.org Subject: Re: Oracle 9i BLOB malfunction / 4k > mystery (issue OJB170) >=20 >=20 > Folks, >=20 > if I get this right, we still don't have a *real* solution to this, > do we? I found that Per-Olof's CLOB patch for using the thin driver > made it to the CVS, but I understand it only fixes this for text < 4 > KB, right? >=20 > So first of all I thought it was a good idea to enter an issue in the > bug database at http://scarab.werken.com/scarab/issues/id/OJB170 > (which became OJB170). >=20 > So to me there are at two questions right now: >=20 > 1. Is this an OJB bug, an Oracle bug or both? 2. How do we *want* do > handle this at all? >=20 > What I mean is: To what column type would I map a String object that > I except to grow very large (i.e. some dozends KB of text)? >=20 > I might map it to JDBC type CLOB which would be closest to reality > but this will break with a class cast exception (you cannot cast a > string to a java.sql.Clob). >=20 > If you map it to anything else such as LONGVARCHAR Oracle will not > care but this will probably break other things. >=20 > In fact it might depend on your application what you want back in > your bean when using a CLOB column: You either might want to get a > stream you can read from in some other place or you might want to > just get the stuff into a String and not care about it any more > (which would make your application code much less Oracle specific by > the way). >=20 > This is essentially two different JDBC types needed for the same type > of DB column. Does the framework support this at all? I am wrong in > any assumption? >=20 > Torsten >=20 > P.S.: I would like to post this as a comment in Scarab, but I did not > yet find out how to edit the issue. I was able to submit it though. > Any help appreciated. >=20 > Original Message: ----------------- From: Thomas Poeschmann > t.poeschmann@exxcellent.de Date: Mon, 12 May 2003 16:05:08 +0200 To: > ojb-dev@db.apache.org Subject: Re: Oracle 9i BLOB malfunction / 4k > mystery >=20 >=20 > Hi there, >=20 >=20 >> Michael Mogley wrote: Thomas Poeschmann says on the list that he >> almost has a solution, using the above method I presume. >=20 >=20 > Yes, of course using the SELECT FOR UPDATE. Sorry for promising > posting code but not doing it, but I will try to find it this > evening. It is probably just for reference for you, since you already > have it. >=20 >=20 >> Are there other dbmses and drivers that exhibit the same irregular >> behavior regarding LOB=B4s. >=20 >=20 > Not that I know. Sometimes it is different to call one of the methods > on a statement to bring certain Java objects in. For example passing > an array in as a String. But I have never seen anything hard as > Oracle XLOBs ;) >=20 >=20 >> Unfortunatly, our solution (apart from the the fix submitted) >> currently consists of changing to the oci driver. Sad but true. >=20 >=20 > Which has other drawbacks, but well... Other ORM can not handle it > either with thin, by the way ;) >=20 > Kind regards, >=20 > Thomas >=20 >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For > additional commands, e-mail: ojb-dev-help@db.apache.org >=20 >=20 >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For > additional commands, e-mail: ojb-dev-help@db.apache.org >=20 >=20 > --------------------------------------------------------------------- > To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For > additional commands, e-mail: ojb-dev-help@db.apache.org >=20 >=20 --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org -------------------------------------------------------------------- mail2web - Check your email from the web at http://mail2web.com/ . --------------------------------------------------------------------- To unsubscribe, e-mail: ojb-dev-unsubscribe@db.apache.org For additional commands, e-mail: ojb-dev-help@db.apache.org