UTL_FILE.FOPEN Обработка в oracle 18c - PullRequest
0 голосов
/ 22 ноября 2018

Начиная с 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 (), котораянаходится в конце испытания ()
Требуется ли создание объекта только для передачи в UTL_FILE.FOPEN?

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

...