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);

1 Respuesta

Respuesta
1
Esto creo que es más un problema de Oracle que de PHP.
Yo creo que el problema puede estar en el BINARY DATA, que sobra.
Los campos CLOB son como los BLOB pero usan caracteres. Si los datos son caracteres no debe haber problema.

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas