Oracle 18C: ошибка при создании объекта каталога в plsql

Я пробовал простой сценарий SQL, где я пытаюсь открыть файл и записать содержимое с помощью объекта каталога

SET SERVEROUTPUT ON
DECLARE
    p_error_file UTL_FILE.FILE_TYPE;
    p_debug_dir  varchar2(2048):='/home/Oracle18C/';
PROCEDURE file_open(p_target_dir     IN VARCHAR2,
                      p_file_name      IN VARCHAR2,
                      p_write          IN BOOLEAN,
                      p_error_file2      OUT UTL_FILE.FILE_TYPE) 
  IS
    BEGIN
    CREATE DIRECTORY p_target_dir_obj AS p_target_dir ;
    GRANT READ ON DIRECTORY p_target_dir_obj TO user;
      p_error_file2 := UTL_FILE.FOPEN(p_target_dir_obj, p_file_name, 'W', 2001);
    END;
BEGIN
  -- p_error_file := file_open(p_debug_dir,'test_18c1.txt', TRUE); 
   file_open(p_debug_dir,'test_18c1.txt', TRUE,p_error_file); 
  UTL_FILE.PUT_LINE(p_error_file, 'This is the first line');
  UTL_FILE.PUT_LINE(p_error_file, 'This is the second line');
  UTL_FILE.PUT_LINE(p_error_file, 'This is the third line');
    UTL_FILE.fclose(p_error_file);
END;
/

Следующая ошибка обнаружена

ORA-06550: строка 10, столбец 5: PLS-00103: Обнаружен символ "СОЗДАТЬ" при ожидании одного из следующего:

(начинайте регистр, объявляйте выход для goto, если цикл mod null pragma поднимать возвращать возвращать select update, в то время как с<< продолжить закрывать текущий удалить выборку блокировать вставить открытый откат сохранить точку сохранения set sql выполнить commit для очистки канала слияния

Пробовал со всеми возможными предложениями, но ничего не получилось Это правильное место для создания объектов каталога?

0 ответов

Другие вопросы по тегам