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

Użyj dbms_xmldom.writetofile bez nazwanego katalogu

Pierwszym problemem jest to, że prawdopodobnie ścieżka nie istnieje lub nie masz uprawnień do zapisu w katalogu.

SQL> select directory_path from all_directories where directory_name = 'YOUR DIRECTORY' ;

Jeśli nie masz żadnych wierszy, musisz rozwiązać ten problem za pomocą DBA, ponieważ katalog nie istnieje lub nie masz do niego uprawnień. Katalog bazy danych to połączenie dwóch elementów:

  • Katalog bazy danych jest wskaźnikiem lub odniesieniem do lokalizacji w systemie operacyjnym.
  • Ścieżka tego katalogu musi istnieć, a użytkownik, który uruchamia proces, musi mieć do niego uprawnienia do odczytu i zapisu.

W drugim przypadku problem polega na tym, że użytkownikowi będącemu właścicielem procedury nie nadano uprawnienia systemowego CREATE ANY DIRECTORY. Administrator DBA musi przyznać uprawnienie CREATE ANY DIRECTORY do użytkownika, chociaż nie polecam tego. Przyznawanie JAKICHKOLWIEK uprawnień to zła praktyka bezpieczeństwa.

Tworzenie katalogów jest zwykle zadaniem Twojego DBA. Nie przewiduję scenariusza, w którym będziesz musiał tworzyć je dynamicznie, o ile musisz również utworzyć podstawowy katalog na dysku systemu plików (Linux) lub Windows, w zależności od systemu operacyjnego.

Biorąc pod uwagę Twoje szczególne okoliczności, nie masz na to wyjścia. Musisz ponownie ocenić rozwiązanie. Być może możesz użyć WRITETOCLOB zamiast WRITETOFILE , a następnie buforować wynik po stronie klienta przez sqlplus




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:DBMS_UTILITY.EXEC_DDL_STATEMENT vs WYKONAJ NATYCHMIAST

  2. jak ustawić serveroutput na używanie połączenia jdbc w Jmeter?

  3. Grupowanie rekordów godzina po godzinie lub dzień po dniu i wypełnianie luk zerem lub zerem

  4. Jak obliczyć różnicę między dwoma znacznikami czasu w Oracle?

  5. Usuwanie wiodących zer z dewelopera varchar sql