#37220 [Fbk->Opn]: LOB Type mismatch when using windows & oci8.dll
| From: | lbouteille dot ext at francetelecom dot com | Date: | Wed, 03 May 2006 13:43:14 +0000 |
| Subject: | #37220 [Fbk->Opn]: LOB Type mismatch when using windows & oci8.dll | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-96545@lists.php.net to get a copy of this message | ||
ID: 37220
User updated by: lbouteille dot ext at francetelecom dot com
Reported By: lbouteille dot ext at francetelecom dot com
-Status: Feedback
+Status: Open
Bug Type: OCI8 related
Operating System: Win 2000
PHP Version: 5.1.2
Assigned To: tony2001
New Comment:
I can't start my Apache Server with the latest snapshot..
say something wrong :
can't find OCIStmtPrepare2 in the OCI.dll
did something wrong ?
Previous Comments:
------------------------------------------------------------------------
[2006-05-01 07:12:55] tony2001@php.net
Please try using this CVS snapshot:
http://snaps.php.net/php5.1-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.1-win32-latest.zip
------------------------------------------------------------------------
[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