#24278 [Opn->Fbk]: error while trying to save LOB
| From: | lsmith@php.net | Date: | Sat, 18 Oct 2003 21:15:41 +0000 |
| Subject: | #24278 [Opn->Fbk]: error while trying to save LOB | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-49166@lists.php.net to get a copy of this message | ||
ID: 24278
Updated by: lsmith@php.net
Reported By: trent at low dot ru
-Status: Open
+Status: Feedback
Bug Type: OCI8 related
Operating System: Linux, Win32
PHP Version: 4CVS-2003-08-15 (stable)
New Comment:
Have you tried using the sample code provided in the php manual?
http://www.php.net/manual/en/function.ocinewdescriptor.php
Previous Comments:
------------------------------------------------------------------------
[2003-06-21 10:28:43] trent at low dot ru
Description:
------------
I got these errors while trying to inputing string to LOB using LOB's
method save(); :
Warning: save() [function.save.html]: OCILobWrite: OCI_INVALID_HANDLE
in /www/sample.php on line 15
Warning: load() [function.load.html]: OCILobGetLength:
OCI_INVALID_HANDLE in /www/sample.php on line 19
This was tested with:
4.3.1-win32
4.3.1-linux
Latest snapshot on Linux.
Note: in oracle function there is in/out parameter used.
Additional exception from Oracle: ORA-22275: invalid LOB locator
specified.
Reproduce code:
---------------
//logging in
$conn = OCILogon('user', 'pass', 'srvname');
//creating new LOB locator
$clob = OCINewDescriptor($conn, OCI_D_LOB);
$sql = 'begin :ret:=test(lob_object=>:lob_object_param); end;';
//parsing query - ok
$stmt = OCIParse($conn, $sql);
//binding variables - ok
OCIBindByName($stmt, ':lob_object_param', &$clob, -1, OCI_B_CLOB);
OCIDefineByName($stmt, ':lob_object_param', $clob, OCI_B_CLOB);
OCIBindByName($stmt, ':ret', $return, 4);
OCIExecute($stmt, OCI_DEFAULT);
if($clob->save($param)) { // Warning: OCILobWrite: OCI_INVALID_HANDLE
in sample.php on line 15
OCICommit($conn); // this warning appears only when using method
save(); of LOB locator
}
print $clob->load(); // Warning: OCILobGetLength: OCI_INVALID_HANDLE
in sample.php on line 19
// when using load method in LOB locator
$clob->free();
OCIFreeStatement($stmt);
Expected result:
----------------
I'm trying to save string as CLOB using Oracle function.
I do expect it to work fine =)
Maybe I'm doing something extremely wrong?
If so, please, correct me.
Thanx in advance.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=24278&edit=1