ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> php-dev
php-dev
#37220 [Opn->Fbk]: LOB Type mismatch when using windows & oci8.dll
by tony2001 other posts by this author
Aug 9 2006 6:38AM 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:

Okay, it works with Oracle 10g on Linux.


Previous Comments:
------------------------------------------------------------------------

[2006-08-09 12:55:56] lbouteille dot ext at francetelecom dot com

Check the detail of the error message : Sounds like XML wasn't valid..
it's working on my Linux server anyway.. maybe some oracle
configuration to deal with XML ?

Oracle Error :: LPX-00245 extra data after end of document
Cause
After the close of the top-level element, more data was found.
Action
The end-element tag for the top-level element must be the last thing in
the document.

------------------------------------------------------------------------

[2006-08-09 12:24:03] tony2001@[...].net

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

------------------------------------------------------------------------

[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(); 
?> 

------------------------------------------------------------------------

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

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved