#37220 [Opn->Fbk]: LOB Type mismatch when using windows & oci8.dll
by tony2001 other posts by this author
Aug 9 2006 5:24AM messages near this date
#37220 [Opn->Fbk]: LOB Type mismatch when using windows & oci8.dll
|
#37220 [Opn->Fbk]: LOB Type mismatch when using windows & oci8.dll
ID: 37220
Updated by: tony2001@[...].net
Reported By: lbouteille dot ext at francetelecom dot com
-Status: Open
+Status: Feedback
Bug Type: OCI8 related
Operating System: Win 2000
PHP Version: 5.1.2
Assigned To: tony2001
New Comment:
I get only this:
Warning: ociexecute(): ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00245: extra data after end of document
Previous Comments:
------------------------------------------------------------------------
[2006-08-07 11:30:03] lbouteille dot ext at francetelecom dot com
Here is the SQL command to create database :
CREATE TABLE myTable ( myColumn XMLTYPE NOT NULL)
and then tu put a row in the table:
INSERT INTO myTable VALUES(XMLTYPE('<THETAG myID="1234"> </THETAG>'))
updateXML() and existsNode() are not procedures, they are part of the
Oracle query system (to query XMLTYPE values)
------------------------------------------------------------------------
[2006-08-07 09:54:36] tony2001@[...].net
I don't have table myTable with column myColumn and procedures
updateXML() and existsNode().
------------------------------------------------------------------------
[2006-08-07 09:18:27] lbouteille dot ext at francetelecom dot com
I can't put the code online, but as it is really short, i'm writing it
here :
<?php
//do the connection to the Oracle 9.2.0.7 database
$conn = oci_pconnect($user,$password, $db);
$xml = "<MYTAG/> ";
//now let's update the row where myId = 1234 and change the mother tag
'THETAG' to 'MYTAG' (MyColumn is a XMLTYPE datatype and myTable a std
Oracle table)
$query = "UPDATE myTable
SET myTable.myColumn =
updateXML(myTable.myColumn,'/THETAG',xmltype.createXML(:data))
WHERE existsNode(myTable.myColumn,'/THETAG[@myID=\"1234\"]')=1";
$stmt = oci_parse ($conn, $query);
$clob = OCINewDescriptor($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();
?>
------------------------------------------------------------------------
[2006-08-07 09:08:03] tony2001@[...].net
Thank you for this bug report. To properly diagnose the problem, we
need a short but complete example script to be able to reproduce
this bug ourselves.
A proper reproducing script starts with <?php and ends with ?> ,
is max. 10-20 lines long and does not require any external
resources such as databases, etc.
If possible, make the script source available online and provide
an URL to it here. Try to avoid embedding huge scripts into the report.
------------------------------------------------------------------------
[2006-08-07 08:41:18] lbouteille dot ext at francetelecom dot com
I've installed Oracle instant client (10.2)
Same error on my command : "LOB Type Mismatch"...
This is really an annoying bug !
Does everybody working on PHP with Linux only ??
------------------------------------------------------------------------
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/37220
--
Edit this bug report at http://bugs.php.net/?id=37220&edit=1
Thread:
tony2001
tony2001
tony2001
tony2001
|