#32859 [Asn->Fbk]: Error when attempting to write Clob to oracle
| From: | sniper@php.net | Date: | Tue, 30 Aug 2005 11:10:46 +0000 |
| Subject: | #32859 [Asn->Fbk]: Error when attempting to write Clob to oracle | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-84187@lists.php.net to get a copy of this message | ||
ID: 32859
Updated by: sniper@php.net
Reported By: Diomedes_01 at yahoo dot com
-Status: Assigned
+Status: Feedback
Bug Type: OCI8 related
Operating System: Solaris 9 (Server)
PHP Version: 5.0.4
Assigned To: tony2001
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2005-07-14 20:45:20] Diomedes_01 at yahoo dot com
Latest update:
I reverted back to the PHP 4.3.9 environment against the same database.
I was able to successfully handle any lob operations.
When we switched again to PHP 5.0.4 (I rebuilt just to be safe), the
problem still persists.
One thing to note: we are building against the Oracle 10g release but
we had to make some modifications to the configure file to get it to
built against the 32 bit libraries. (The oracle default lib directory
points to the 64 bit libraries that are incompatible with PHP)
We had to perform similar steps when building against Oracle 9i as
well.
Note that building PHP 4.3.9 against the same 10g 32 bit libraries does
work correctly.
------------------------------------------------------------------------
[2005-06-30 00:04:17] wez@php.net
Please try both your PHP 4.x installation and PHP 5.x installation
against the same database and compare the results.
In addition, your PHP 5.x build should have included the writeTemporary
method. If it is missing from your build, then it sounds like there was
a problem detecting temporary lob support in your environment, and we'd
like to track down the cause of that problem in more detail.
------------------------------------------------------------------------
[2005-06-14 06:55:39] Diomedes_01 at yahoo dot com
With regards to my problem, it was not an issue of the clob not being
initialized. I noticed this problem on CLOBs that were already in
existence. Using a stored procedure we have that updates the value of
the CLOB, that was when I noticed the error.
One thing I will verify with our DBA is the possibility that the recent
upgrade of the database to UTF-8 could be contributing to the problem. I
will try to replicate the issue with PHP 5.0.4 against our older UTF-7
ASCII database.
------------------------------------------------------------------------
[2005-06-13 08:41:26] tony2001@php.net
So you tried to write CLOB without setting it empty with EMPTY_CLOB() ?
Am I right?
------------------------------------------------------------------------
[2005-06-13 02:03:35] ab5602 at wayne dot edu
This appears to possibly be parsing problem with the oci_parse function
not returning a real placeholder location. The placeholder :fieldname
does not work if used in this fashion during an sql statement in
v5.0.4, I've found this to work in previous versions:
update table mytable set clob1=:clob;
However, I've found it to work in v5.0.4 if the sql is rewritten such
as:
update table mytable set clob1=empty_clob() returning clob1 as :clob;
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/32859
--
Edit this bug report at http://bugs.php.net/?id=32859&edit=1