ORA-29280:невалиден път към директорията е често срещана грешка при извършване на операции за обработка на файлове в базата данни на Oracle
Причина и решение за грешката
(1) Това се случва, ако посочената директория не съществува в параметъра utl_file_dir init.ora
sqlplus / като sysdbashow параметър utl_file_dir/tmp, /usr/tmp/SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('/u500','j', 'w');3/; 4 5 6declare*ERROR на ред 1:ORA-29280:невалидна директория pathORA-06512:в "SYS.UTL_FILE", ред 41ORA-06512:в "SYS.UTL_FILE", ред 478ORA-06512:на ред 4
Резолюции
а. Променете директорията, която е дефинирана в UTL_FILE_DIR
б. Ако директорията не може да бъде променена и трябва да използваме същия код, ще трябва да добавим директорията в UTL_FILE_DIr
Стъпките ще бъдат първата промяна в spfile, след това рециклиране на базата данни на Oracle и след това проверка
sqlplus / като системен набор от sysdbaalter utl_file_dir='/tmp/','/usr/tmp','/u500' обхват =spfile;shutdown immediatestartupSQL> declareF_LOG utl_file.file_type;beginF_l_fil'/. ','y', 'w');end;/2 3 4 5 6PL/SQL процедурата е завършена успешно.
° С. Ако можем да променим кода, можем да започнем да използваме директории на Oracle. В този случай не е необходимо да указваме utl_file_dir
SQL> създайте директория TESTDIR като '/u500'; SQL> предоставяне на четене, запис в директория TESTDIR на public;SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ PL/SQL процедурата е завършена успешно.предварително>2. Посочвате грешно име на директория на Oracle в нея
SQL> declareF_LOG utl_file.file_type;begin 2F_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;3 4 5 6 /declare*ERROR на ред 1:ORA-29280:невалиден директория pathORA-06512:в "SYS.UTL_FILE", ред 41ORA-06512:в "SYS.UTL_FILE", ред 478ORA-06512:на ред 4SQL> изберете * от dba_directories, където DIRECTORY_NAME='TESTDIR'; няма избрани редове>Резолюции
Посочете правилното име на директория или създайте нова
SQL> създайте директория TESTDIR като '/u500'; SQL> предоставяне на четене, запис в директория TESTDIR на public;SQL> declareF_LOG utl_file.file_type;beginF_LOG :=utl_file.fopen('TESTDIR','y', 'w');end;/ 2 3 4 5 6PL/SQL процедура успешно завършен.Надявам се да ви хареса подробното обяснение на грешката ORA-29280. Моля, харесайте и изпратете обратна връзка
Сродни статии
ORA-29283:невалидна файлова операция:вижте тази публикация за това как да разрешите ORA-29283:невалидна файлова операция. Какво разрешение трябва да се провери
ORA-29285:грешка при запис на файл :ORA-29285:грешка при запис на файл е често срещаната грешка при извършване на операция за обработка на файлове. Разгледайте тази публикация за различни причини и решение за това как да я разрешите
ORA-01652:не може да се разшири временния сегмент :ORA-01652 грешка обикновено, защото когато пространството за таблици няма свободно място в постоянно и временно пространство за таблици в базата данни на oracle
ORA-00936 липсва израз:Научете как да отстранявате неизправности ORA-00936 липсващ израз в Oracle SQL. какви са различните решения, как можем да го избегнем, грешки в Oracle за тези грешки
ORA-00257:грешка на архиватора. Свързване само вътрешно, докато не бъде освободено. :Научете как да отстраните неизправности за грешка в архиватора ORA-00257. Свързване само вътрешна грешка. Различна разделителна способност и пример са предоставени стъпка по стъпка.
ORA-00904 :Тази публикация за описанието и възможните решения на ORA-00904:невалиден идентификатор.предоставени са и съвети за отстраняване на неизправности
FND_FILE в приложения на Oracle
https://docs.oracle.com/database/121/ARPLS/u_file.htm