Bonjour,
J'ai une appli en PHP avec une base Oracle 8i.
Dans mon appli, j'ai des champs wysiwyg, que je souhaite stocker dans ma base en utilisant des CLOB.
J'ai donc une procédure (récupérer sur le net et adaptée à mon appli) pour mettre à jour les clobs
et le code php pour utiliser cette procédure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 PROCEDURE insert_clob(id IN NUMBER, p_text IN VARCHAR2) IS v_clob CLOB; BEGIN insert into TAB_CLOB values (id, empty_clob()) returning COMM into v_clob; DBMS_LOB.WRITE(v_clob, length(p_text),1,p_text); COMMIT; END;
Mon problème, c'est que je n'arrive pas à stocker plus de 32000 et qqes caractères.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $refComm = 1; $connComm = new DataBase(); $proc = "BEGIN update_clob(:ID,:TEXTE); END; "; $stmt = OCIParse($connComm->DB, $proc); OCIBindByName($stmt, ":ID", &$refComm, -1); OCIBindByName($stmt, ":TEXTE", &$comm, -1); // $comm = le champ à stocker dans le clob OCIExecute($stmt); OCIFreeStatement($stmt); $connComm->disconnect();
Est-ce que qqn aurait une solution à ce pb ?
Merci d'avance
PS : peut-être que j'aurais dû mettre ce post dans le forum PHP ?
Partager