ID: 37220
Updated by: bjori@php.net
Reported By: lbouteille dot ext at francetelecom dot com
-Status: Open
+Status: Assigned
Bug Type: OCI8 related
Operating System: Win 2000
PHP Version: 5.1.2
-Assigned To:
+Assigned To: tony2001
Previous Comments:
------------------------------------------------------------------------
[2006-04-27 13:43:34] lbouteille dot ext at francetelecom dot com
_
------------------------------------------------------------------------
[2006-04-27 11:53:48] lbouteille dot ext at francetelecom dot com
Description:
------------
I'm currently facing this problem with :
- 1 production environnement (Unix,Oracle 9.2, Apache 2.046, Php 5.0.4)
- 1 developpment env (Windows, Apache 2.046,Php 5.0.4 and using the
production database)
then trying to update an XML field of my database (see code)
The only difference I found is :
- production php is compiled --with-oci8
- dev php is using php_oci8.dll through php.ini
I guess this is a problem with windows oci8.dll ?
Reproduce code:
---------------
$query = "UPDATE table
SET table= updateXML(table,'/TABLE/DATA,xmltype.createXML(:data))
WHERE existsNode(projet,'/PROJET/[ID=$id]')=1";
$stmt = oci_parse ($_SESSION['conn'], $query);
$clob = OCINewDescriptor($_SESSION['conn'], OCI_D_LOB);
oci_bind_by_name($stmt, ':data', &$clob, -1,OCI_B_CLOB);
$clob->WriteTemporary($xml,OCI_TEMP_CLOB);
$success = OCIExecute($stmt,OCI_COMMIT_ON_SUCCESS);
OCIFreeStatement($stmt);
$clob->free();
Expected result:
----------------
This should be working fine, like on the production (unix) machine
Actual result:
--------------
It will say : ORA-24805 LOB Type mismatch (error at line
OCIExecute(...))
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=37220&edit=1