Re: CLOB

From: Malcolm Dew-Jones <yf110_at_vtn1.victoria.tc.ca>
Date: 5 Nov 2009 11:43:40 -0700
Message-ID: <4af32aec$1_at_news.victoria.tc.ca>



The Magnet (art_at_unsu.com) wrote:
: On Nov 5, 10:01=A0am, Mark D Powell <Mark.Powe..._at_hp.com> wrote:
: > On Nov 4, 5:23=A0pm, The Magnet <a..._at_unsu.com> wrote:
: >
: > > This may be a dumb question, but why can't Oracle read anything
: > > greater than 32767?? =A0 EvenCLOB's? =A0You really have to loop and do
: > > some crappy stuff??
: >
: > How are you trying to read the LOB? =A0The sqlldr utility can read LOB's
: > over 32K. =A0Now the utl_file utility used to have a 32K record size
: > limit in it. =A0Are you using it?
: >
: > What full version of Oracle? =A0Oracle capabilities for dealing with LOB
: > data has evolved over the releases since 8.0 introdduced the data
: > type.
: >
: > HTH -- Mark D Powell --

: We are using PHP to perform the actual call to the DB. My solution
: was to return 2 variables, breaking the CLOB up and having PHP receive
: 2 output values.

: Still, a dumb limitation. You'd think by this point Oracle would have
: fixed that.

First ask yourself what would happen to your php script if you read the entire clob into a single variable - and the clob was (for example) 4 gigabytes in size. What portion of the software should handle that? Should the Oracle networking return that as a single data item to the application's oracle interface? Should the interface handle that so your application doesn't see it? Should your application handle it itself?

I think it is obvious that the oracle networking should not return that as a single item because then virtually no application or interface could ever be sure of being able to handle clob data. That leaves the interface or the application. As I mentioned earlier, I often use perl because the DBI interface handles that issue so my applicaiton doesn't have to. From other posts, it sounds like various other interfaces also handle the issue.

As for php, my reading of the php documentation of OCI-Lob->load says it can read any size up to "memory_limit", which appears to be set in php.ini, though it is also limited by the compile time options of your php executable. So perhaps the issue is the setup of the php you are using.

$0.10 Received on Thu Nov 05 2009 - 12:43:40 CST

Original text of this message