Estimados tengo un problema con un campo clob.
Originalmente la tabla esa en mysql y utilizando sqldevelor la "migre" a oracle. Oracle convierte los campos TEXT de mysql a CLOB. Hasta aquí todo bien y sin problema.
Pero cuando en mi aplicación guardo un texto relativamente pequeño, sigue sin haber problema. El rollo se presenta cuando trato de guardar ahí algún texto muy extenso y me arroja el error ora-1704
PHP Warning: oci_execute(): ORA-01704: literal de cadena demasiado largo
busque en algunas soluciones y todos me dicen que debo hacer el insert con variables tipo bind. Sin embargo, hago tal cual lo indica "The Underground PHP
and Oracle Manual"
Código PHP:
<?php
$c = oci_connect('hr', 'hrpwd', 'localhost/XE');
$myblobid = 123;
$myv = 'a very large amount of binary data';
$s = oci_parse($c, 'insert into mybtab (blobid, blobdata)
values (:myblobid, EMPTY_BLOB())
returning blobdata into :blobdata');
$lob = oci_new_descriptor($c, OCI_D_LOB);
oci_bind_by_name($s, ':myblobid', $myblobid);
oci_bind_by_name($s, ':blobdata', $lob, -1, OCI_B_BLOB);
oci_execute($s, OCI_DEFAULT); // use OCI_DEFAULT so $lob->save() works
$lob->save($myv);
oci_commit($c);
$lob->close(); // close LOB descriptor to free resources
?>
Esta es la base que utilice para modificar mi insert que como mencione era el "típico de sql". Ahora no sé si el problema estuvo en que mi tabla a diferencia de la tabla mytab que aparece en el ejemplo, tiene además del id y el campo clob, cuatro (4) campos más, varchar2 y numeric?
Saludos