php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #40785 Error trying to insert into CLOB column using PDO_OCI and Streams.
Submitted: 2007-03-12 16:22 UTC Modified: 2016-03-08 01:42 UTC
Votes:3
Avg. Score:5.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:1 (50.0%)
From: jarismar at adplabs dot com dot br Assigned: sixd (profile)
Status: Not a bug Package: PDO OCI
PHP Version: 5.2.1 OS:
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: jarismar at adplabs dot com dot br
New email:
PHP Version: OS:

 

 [2007-03-12 16:22 UTC] jarismar at adplabs dot com dot br
Description:
------------
Trying to inset into a CLOB field usint RETURNING column INTO sql syntax, results on the following error :

OCIStmtExecute: ORA-00932: inconsistent datatypes: expected BLOB got CLOB

I've tested with Oracle 9i and 10g (both relases 10.1 and 10.2).



Reproduce code:
---------------
try {
  $oPDO = new PDO($sDSN, $sUserName, $sPassword);
  $oPDO->beginTransaction();

  $oStmt = $oPDO->prepare(
    'INSERT INTO test_clob (id,data) '.
    'VALUES (:id, EMPTY_CLOB()) '.
    'RETURNING data INTO :value');

  if($oStmt === false) { print_r($oPDO->errorInfo()); }

  $iID = 1;
  if(!$oStmt->bindParam(':id', $iID)) { print_r($oStmt->errorInfo()); }

  $sData = str_repeat('x', 65535);
  if(!$oStmt->bindParam(':value', $resource, PDO::PARAM_LOB)) { print_r($oStmt->errorInfo()); }

  if(!$oStmt->execute()) {print_r($oStmt->errorInfo());}

  if (is_resource($resource)) {
    fwrite($resource, $sData);
    fclose($resource);
  }

  $oPDO->commit();

} catch (Exception $oE) {
  print $oE->getMessage()."\n";
}
$oPDO = null;



Expected result:
----------------
No error or exception should occurs.

Actual result:
--------------
Array
(
    [0] => HY000
    [1] => 932
    [2] => OCIStmtExecute: ORA-00932: inconsistent datatypes: expected BLOB got CLOB
 (/oracle/applications/php-5.2.0/ext/pdo_oci/oci_statement.c:142)
)

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-04-27 11:25 UTC] eugene dot pikalov at gmail dot com
http://pecl.php.net/bugs/bug.php?id=7943
 [2007-09-03 14:23 UTC] jani@php.net
Assigned to the pdo_oci maintainer.
 [2007-09-04 18:24 UTC] sixd@php.net
Please do not submit the same bug more than once. An existing
bug report already describes this very problem. Even if you feel
that your issue is somewhat different, the resolution is likely
to be the same. 

Thank you for your interest in PHP.

--------
This is a duplicate of http://pecl.php.net/bugs/bug.php?id=7943
That bug is waiting some PDO standardization to complete before CLOB support is added.
--------
 [2016-03-08 01:42 UTC] sixd@php.net
-Package: PDO related +Package: PDO OCI
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Dec 30 18:01:27 2024 UTC