Bonjour à tous,
J'ai un problème d'update de BLOB.
Voici le code:

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
 
connect toto/toto@TATA_YOYO
spool spool.log
 
create or replace procedure load_blob is
v_blob BLOB:=empty_blob();
v_bfile BFILE;
BEGIN
v_bfile:=BFILENAME('/opt/tws/stdlist/2007.06.13/', 'O946390.0001');
DBMS.OUTPUT(v_bfile);
DBMS_LOB.CREATETEMPORARY(v_blob,TRUE,2);
DBMS_LOB.FILEOPEN(v_bfile);
DBMS_LOB.LOADFROMFILE(v_blob, v_bfile, DBMS_LOB.GETLENGTH(v_bfile));
COMMIT;
DBMS_LOB.FILECLOSE(v_bfile);
update tws_log_pre set status=1, enddate='11/06/2007 13:00:00', logname='O946390.0001', LOGFILE=v_blob
where jobnumber=1234567 and job='TESTJOB';
end;
/
show error
 
exec load_blob
spool off

Il me sort l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
 
Procedure created.
 
No errors.
BEGIN load_blob; END;
 
*
ERROR at line 1:
ORA-22285: non-existent directory or file for FILEOPEN operation
ORA-06512: at "SYS.DBMS_LOB", line 504
ORA-06512: at "STA.LOAD_BLOB", line 7
ORA-06512: at line 1
Mon problème est que le chemin indiqué est correct, le fichier s'y trouve bien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
ls -l /opt/tws/stdlist/2007.06.13/ |grep O946390.0001
-rwxrwxrwx   1 twsadm   tivoli         4006 Jun 13 00:03 O946390.0001
Quelqu'un à une idée...

Merci d'avance...