php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Request #68326 Data from NCLOB column is not returned from PDO_OCI Statement
Submitted: 2014-10-29 19:23 UTC Modified: 2014-10-30 10:41 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:0 (0.0%)
Same OS:0 (0.0%)
From: contact at greg dot md Assigned:
Status: Open Package: PDO OCI
PHP Version: 5.4.34 OS: Mac OS X
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
MUST BE VALID
Solve the problem:
24 + 22 = ?
Subscribe to this entry?

 
 [2014-10-29 19:23 UTC] contact at greg dot md
Description:
------------
I have compiled last sources from https://github.com/php/php-src/tree/master/ext/pdo_oci.

Data from NCLOB type is not returned in the row. From CLOB or NVARCHAR2 is all ok.

Test script:
---------------
$options = array(
    PDO::ATTR_STRINGIFY_FETCHES => true,
);

$dbh = new PDO('dns', 'username', 'password', $options);

$stmt = $dbh->query('select NCLOB_COLUMN from TABLE');

$row = $stmt->fetch(PDO::FETCH_ASSOC);

var_dump($row);



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2014-10-30 10:41 UTC] sixd@php.net
-Type: Bug +Type: Feature/Change Request
 [2014-10-30 10:41 UTC] sixd@php.net
This is "expected" since support for NCLOB or NVARCHAR has not been implemented in PDO_OCI (or to the OCI8 extension).

From http://docs.oracle.com/database/121/NLSPG/ch2charset.htm#NLSPG180 :

"Oracle recommends using SQL CHAR, VARCHAR2, and CLOB data types in
AL32UTF8 database to store Unicode character data. Use of SQL NCHAR,
NVARCHAR2, and NCLOB should be considered only if you must use a
database whose database character set is not AL32UTF8."
 [2014-10-30 11:22 UTC] contact at greg dot md
Ok.

I have tested via oci, and it is working fine with NCLOB data type. That's why I thought it is a bug.

$dbh = oci_connect($username, $passwd, $tsa, 'UTF8');
$stmt = oci_parse($dbh, 'select * from "Feedbacks"');
oci_execute($stmt);
$row = oci_fetch_array($stmt, OCI_ASSOC+OCI_RETURN_LOBS);
v($row);
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 21:01:29 2024 UTC