Bug #63809 [Opn->Asn]: ORA-01461 when inserting/updating more that 1333 characters
Edit report at https://bugs.php.net/bug.php?id=63809&edit=1
ID: 63809
Updated by: felipe@php.net
Reported by: blair dot chesnut at gmail dot com
Summary: ORA-01461 when inserting/updating more that 1333
characters
-Status: Open
+Status: Assigned
Type: Bug
Package: PDO related
Operating System: Unix/Solaris 10
PHP Version: 5.4.9
-Assigned To:
+Assigned To: sixd
Block user comment: N
Private report: N
Previous Comments:
------------------------------------------------------------------------
[2012-12-19 19:42:49] blair dot chesnut at gmail dot com
Description:
------------
Using PDO/OCI via Yii framework. Inserts/updates to varchar2(4000) column fail with error ORA-01461
when value exceeds 1332 characters.
Line 300 of source php-5.4.9/ext/pdo_oci/oci_statement.c:
value_sz = 1332; /* maximum size before value is interpreted as a LONG value */
Why???
I changed to "value_sz = 4000", recompiled, and inserts/updates work fine. I'm not
using CLOBs, only varchar2() columns.
Test script:
---------------
$dbh = new PDO($dsn, $dbuser, $dbpass);
$sth = $dbh->prepare('insert into some_table (some_varchar4000_column) values (:p1)');
$big_value = str_repeat('ABCDEFGHIJ', 300);
$sth->bindValue(':p1', $big_value, PDO::PARAM_STR);
$sth->execute();
print_r($sth->errorInfo());
Expected result:
----------------
Array
(
[0] => 00000
[1] =>
[2] =>
)
Actual result:
--------------
Array
(
[0] => HY000
[1] => 1461
[2] => OCIStmtExecute: ORA-01461: can bind a LONG value only for insert into a LONG column
(/usr/local/src/php-5.4.5/ext/pdo_oci/oci_statement.c:146)
)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=63809&edit=1
Thread (7 messages)