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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: contact at greg dot md
New email:
PHP Version: OS:

 

 [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 Mar 29 13:01:29 2024 UTC