PHP + Oracle. Insertar campo CLOB
Me estoy rompiendo los cuernos intentando insertar un campo de tipo CLOB en Oracle desde PHP.
Me da un error en la ejecución del query: "falta una coma". Y creo que la sentencia es válida.
¿Alguien me podría decir dónde está el fallo? Uso Oracle 9 y php4.
¿La inserción de un campo BLOB a CLOB conlleva muchas diferencias? Posteriormente, tendré que hacer otro así.
Muchas gracias.
$conn = ociLogon('usuario', 'pass', 'bd');
$id_datos= 12343;
$sql = "INSERT INTO BINARY DATA datosPruebas (id_datos, pagina) VALUES (:id_datos, EMPTY BLOB()) RETURNING pagina INTO pagina";
$stid = ociParse($conn, $sql);
$clob = ociNewDescriptor($conn, OCI_D_LOB);
ociBindByName($stid, ":id_datos", $id_datos, 5);
ociBindByName($stid, "agina", $clob, -1, OCI_B_CLOB);
if (!OCIExecute($stid, OCI_DEFAULT)) {
$e=OCIError($stid);
echo ('EXEC:'.$e['message'])."</br>";
}
else{
echo " // Ha ido BIEN EL EXECUTE"."</br>";
}
$clob->save("A very long string");
ociCommit($conn);
Me da un error en la ejecución del query: "falta una coma". Y creo que la sentencia es válida.
¿Alguien me podría decir dónde está el fallo? Uso Oracle 9 y php4.
¿La inserción de un campo BLOB a CLOB conlleva muchas diferencias? Posteriormente, tendré que hacer otro así.
Muchas gracias.
$conn = ociLogon('usuario', 'pass', 'bd');
$id_datos= 12343;
$sql = "INSERT INTO BINARY DATA datosPruebas (id_datos, pagina) VALUES (:id_datos, EMPTY BLOB()) RETURNING pagina INTO pagina";
$stid = ociParse($conn, $sql);
$clob = ociNewDescriptor($conn, OCI_D_LOB);
ociBindByName($stid, ":id_datos", $id_datos, 5);
ociBindByName($stid, "agina", $clob, -1, OCI_B_CLOB);
if (!OCIExecute($stid, OCI_DEFAULT)) {
$e=OCIError($stid);
echo ('EXEC:'.$e['message'])."</br>";
}
else{
echo " // Ha ido BIEN EL EXECUTE"."</br>";
}
$clob->save("A very long string");
ociCommit($conn);
1 Respuesta
Respuesta de davidcortesb
1