UTL_FILE.FOPEN Обработка в oracle 18c

Начиная с Oracle Database 18c, параметр UTL_FILE_DIR больше не поддерживается. Вместо этого необходимо указать имя объекта каталога.

Например: file_open() создает объект p_target_dir_obj.

где следует удалить p_target_dir_obj?

Пример кода PLSQL:

FUNCTION file_open(p_target_dir     IN VARCHAR2,
                  p_file_name      IN VARCHAR2,
                  p_write          IN BOOLEAN)
 RETURN t_file
IS
 BEGIN
 CREATE DIRECTORY p_target_dir_obj AS p_target_dir  --Created Dir object
    -- open file
      RETURN UTL_FILE.FOPEN(p_target_dir_obj, p_file_name, 'W', 2001);
  END file_open;


PROCEDURE trial() 
IS
BEGIN 
p_error_file := file_open(p_debug_dir,file_name, TRUE);
UTL_FILE.fclose(p_error_file);
END 

Может ли объект быть уничтожен в конце функции file_open или во время fclose(), которая находится в конце trial()
Требуется ли создание объекта только для передачи в UTL_FILE.FOPEN?

Примечание: пожалуйста, игнорируйте, если какая-либо синтаксическая ошибка

0 ответов

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