После создания каталога для медиа-элементов в «c: \ work» я объявил каталог в sqlplus
> CREATE OR REPLACE DIRECTORY FILE_DIR as 'c:\work';
> GRANT READ ON DIRECTORY FILE_DIR TO anonymous;
Я создал тип user_type
TYPE user_type AS OBJECT (
id NUMBER,
name VARCHAR2(20),
lastname VARCHAR2(25),
email VARCHAR2(25),
password VARCHAR2(20),
profile_pic ORDSYS.ORDIMAGE,
profile_pic_sig ORDSYS.ORDImageSignature
)
, а затемЯ создал таблицу USERR
на основе этого типа.Вставка данных работает как ожидалось
BEGIN
INSERT INTO USERR
VALUES (10,'user','username','somevalidemail','password', ORDSYS.ORDImage.init('FILE', 'C:\work','tess.jpg'),ORDSYS.ORDImageSignature.init());
COMMIT;
END;
/
Процедура PL / SQL успешно завершена.
Теперь проблема возникает, когда я пытаюсь сгенерировать подпись изображения
DECLARE
t_image ORDSYS.ORDImage;
image_sig ORDSYS.ORDImageSignature;
BEGIN
SELECT Profile_PIC, Profile_PIC_SIG INTO t_image, image_sig
FROM USERR
WHERE ID = 10 FOR UPDATE;
image_sig.generateSignature(t_image);
UPDATE USERR SET Profile_PIC_SIG = image_sig
WHERE ID =10;
END;
/
ERROR
ORA-22285: répertoire ou fichier inexistant pour l'opération FILEOPEN
ORA-06512: à "ORDSYS.ORDIMG_PKG", ligne 1074
ORA-06512: à "ORDSYS.ORDIMAGE", ligne 173
ORA-06512: à "ORDSYS.ORDIMAGESIGNATURE", ligne 85
ORA-06512: à ligne 8
Я тратил много времени на эту проблему и не могу найти решение.Любая помощь будет оценена.