[ORACLE RESOLU] Insertion dans CLOB en PHP

Insertion dans CLOB en PHP [ORACLE RESOLU] - SQL/NoSQL - Programmation

Marsh Posté le 02-05-2006 à 17:24:25    

Slt,
 
J'essai de faire une grosse insertion dans un champs CLOB, en PHP.  j'ai le message d'erreur suivant :
Warning: ociexecute(): OCIStmtExecute: ORA-01704: constante de chaîne trop longue in /home/.../classes/Db_Oracle.class.php on line 40
 
Ma question ya t'il une limite au champs CLOB ? ( Jusqu'a aujourd'hui je pensais que non).
 
Pour plus d'info la base est installé sur une machine linux, je fais l'insertion à partir d'un script php.
Voila le code PHP

Code :
  1. $this->Statement = OCIParse($this->IdConnexion , $this->SQL);
  2. $sqlState = OCIExecute($this->Statement, OCI_DEFAULT);


 
Pour info j'ai essayé d'executé la requète à partir de l'interface TOAD, et j'ai le mème message d'erreur...
 
Merci pour vos réponses.


Message édité par DEns91 le 03-05-2006 à 10:15:52
Reply

Marsh Posté le 02-05-2006 à 17:24:25   

Reply

Marsh Posté le 02-05-2006 à 19:23:13    

pour le BLOB c'est 4 GB. Le problème peut venir du serveur Web. Faut peut être lui allouer plus de mémoire...

Reply

Marsh Posté le 03-05-2006 à 10:12:27    

moi23372 a écrit :

pour le BLOB c'est 4 GB. Le problème peut venir du serveur Web. Faut peut être lui allouer plus de mémoire...


 
Merci pour ta reponse, ca ne viens pas du serveur web.
Ca venais de mon code PHP, Pour inserer il faut comme en C, alloué un espace memoire avant d'inserer le CLOB.
 
Voila mon nouveau code

Code :
  1. $requeteins = insert into TABLE (champCLOB) values (:requete)
  2. $stmt = ociparse($this->IdConnect,$requeteins);
  3. $rowid = ocinewdescriptor($this->IdConnect, OCI_D_LOB);
  4. ocibindbyname($stmt, ":requete", $data);
  5. $execState = ociexecute($stmt);
  6. ocifreestatement($stmt);


 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed