Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak rozwiązać ORA-29280:nieprawidłowa ścieżka do katalogu

ORA-29280:nieprawidłowa ścieżka katalogu jest częstym błędem podczas wykonywania operacji obsługi plików w bazie danych Oracle

Przyczyna i rozwiązanie błędu

(1) Dzieje się tak, jeśli podany katalog nie istnieje w parametrze utl_file_dir init.ora

sqlplus / as sysdba

show parameter utl_file_dir

/tmp, /usr/tmp/

SQL> declare
F_LOG utl_file.file_type;
begin
F_LOG := utl_file.fopen('/u500','j', 'w');
end;
/ 2 3 4 5 6
declare
*
ERROR at line 1:
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at line 4

Rezolucje

a. Zmień katalog zdefiniowany w UTL_FILE_DIR

b. Jeśli katalogu nie można zmienić i musimy użyć tego samego kodu, będziemy musieli dodać katalog w UTL_FILE_DIr

Kroki to pierwsza zmiana w pliku spfile, a następnie przetworzenie bazy danych Oracle, a następnie sprawdzenie

sqlplus / as sysdba

alter system set utl_file_dir='/tmp/','/usr/tmp','/u500'  scope =spfile;

shutdown immediate

startup

SQL> declare
F_LOG utl_file.file_type;
begin
F_LOG := utl_file.fopen('/u500','y', 'w');
end;
/
2 3 4 5 6
PL/SQL procedure successfully completed.

c. Jeśli możemy zmienić kod, możemy zacząć korzystać z katalogów Oracle. W takim przypadku nie musimy określać utl_file_dir

SQL> create directory TESTDIR as '/u500';
 
SQL> grant read,write on directory TESTDIR to public;

SQL> declare
F_LOG  utl_file.file_type;
begin
F_LOG := utl_file.fopen('TESTDIR','y', 'w');
end;
/
  
PL/SQL procedure successfully completed.

2. Podajesz w nim niewłaściwą nazwę katalogu Oracle

SQL> declare
F_LOG utl_file.file_type;
begin 2
F_LOG := utl_file.fopen('TESTDIR','y', 'w');
end;
3 4 5 6 /
declare
*
ERROR at line 1:
ORA-29280: invalid directory path
ORA-06512: at "SYS.UTL_FILE", line 41
ORA-06512: at "SYS.UTL_FILE", line 478
ORA-06512: at line 4

SQL> select * from dba_directories where DIRECTORY_NAME='TESTDIR';

no rows selected

Rezolucje

Podaj poprawną nazwę katalogu lub utwórz nową

SQL> create directory TESTDIR as '/u500';
 
SQL> grant read,write on directory TESTDIR to public;

SQL> declare
F_LOG  utl_file.file_type;
begin
F_LOG := utl_file.fopen('TESTDIR','y', 'w');
end;
/
  2    3    4    5    6
PL/SQL procedure successfully completed.

Mam nadzieję, że podoba Ci się szczegółowe wyjaśnienie błędu ORA-29280. Polub i przekaż opinię

Powiązane artykuły

ORA-29283 :nieprawidłowa operacja na pliku :sprawdź ten post, jak rozwiązać problem ORA-29283 :nieprawidłowa operacja na pliku. Jakie uprawnienia należy sprawdzić
ORA-29285:błąd zapisu pliku :ORA-29285:błąd zapisu pliku jest częstym błędem podczas wykonywania operacji obsługi plików. Sprawdź ten post z różnych powodów i rozwiązań, jak go rozwiązać
ORA-01652:nie można rozszerzyć segmentu tymczasowego :Błąd ORA-01652 zwykle dlatego, że gdy obszar tabel nie ma wolnego miejsca w obszarze tabel Stały i Tymczasowy w bazie danych Oracle
ORA-00936 brak wyrażenia :Dowiedz się, jak rozwiązać problem z ORA-00936 brak wyrażenia w oracle SQL. jakie są różne rozwiązania, jak możemy tego uniknąć, błędy Oracle dla tych błędów
ORA-00257:błąd archiwizatora. Połącz tylko wewnętrznie, aż do zwolnienia. :Dowiedz się, jak rozwiązywać problemy z błędem archiwizatora ORA-00257. Podłącz błąd tylko wewnętrzny.Różne rozwiązania i przykład podano krok po kroku.
ORA-00904 :Ten post zawiera opis i możliwe rozwiązania ORA-00904:nieprawidłowy identyfikator.Załączone są również wskazówki dotyczące rozwiązywania problemów
FND_FILE w aplikacjach Oracle
https://docs.oracle.com/database/121/ARPLS/u_file.htm


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01882:nie znaleziono regionu strefy czasowej

  2. Stronicowanie z Oracle

  3. Logiczny widok modelu danych w R12.2

  4. ORA-00900:nieprawidłowa instrukcja SQL- po uruchomieniu procedury w oracle 10g

  5. Lista zadań