Bonjour,
Alors voila mon problème. Je voudrai inserer un (plusieurs) BLOB dans une table. Donc, malin, je suis allé voir ici histoire de trouver comment faire. Par contre, quand j'execute ce code, trouvé sur la page en question :
Et bien ca plante, genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 drop table lob_table; create table lob_table (key_value number(11), b_col blob); insert into lob_table (key_value, b_col) values (12, EMPTY_BLOB()); describe lob_table; DECLARE lob_loc BLOB; buffer RAW; amt BINARY_INTEGER := 32767; pos INTEGER := 2147483647; i INTEGER; BEGIN SELECT b_col INTO lob_loc FROM lob_table WHERE key_value = 12 FOR UPDATE; FOR i IN 1..3 LOOP dbms_lob.write (lob_loc, amt, pos, buffer); -- ... pos := pos + amt; END LOOP; END;
Je pensais que le problème venais du fait que ma table est vide, alors j'ai fait un enregistrement avec un BLOB vide, mais rien n'y fait. Alors, euh... Ou est le problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Table créée. 1 ligne créée. KEY_VALUE NUMBER(11) B_COL BLOB buffer RAW; * ERREUR à la ligne 3 : ORA-06550: Ligne 3, colonne 10 : PLS-00215: Contraintes de longueur de chaîne doivent être incluses ds zone (1 .. 32767)
Merci d'avance !
Partager