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

Jak rozwiązać problem z Oracle DBMS_LOB

Z dokumentacji, do której prowadziłeś link :

więc GRUPO powinien oceniać jako 'DIR_XML' zamiast 'C:\XMLS' . Pokazuje to przykład w tej dokumentacji. (Istniał stary mechanizm pre-directory-object oparty na ścieżce przechowywanej jako parametr bazy danych, ale był mniej bezpieczny...)

Jeśli masz tylko ścieżkę, możesz wyszukać nazwę katalogu:

select directory_name from all_directories where directory_path = 'C:\XMLS'

pamiętając, że ścieżki katalogów nie muszą być unikalne, więc możesz mieć do czynienia z duplikatami.

Ale jak już wyjaśnił @Matthew i jak mówi dokumentacja (podkreślenie dodane):

Baza danych widzi tylko pliki we własnym systemie plików - lokalnym lub współdzielonym - a nie w systemach plików klientów. Jeśli używasz bazy danych również lokalnie, nie ma różnicy (chociaż uprawnienia do katalogów i plików nadal mają znaczenie). Jeśli uzyskujesz dostęp do zdalnej bazy danych, nie widzi ona twojego klienta C:dysku, a jeśli podasz nazwę obiektu katalogu, nadal otrzymasz coś takiego:

ORA-22288: file or LOB operation FILEOPEN failed
No such file or directory

Musisz umieścić swoje pliki XML w katalogu na serwerze DB, do którego konto systemu operacyjnego ma dostęp, i utworzyć obiekt katalogu, który wskazuje na tę lokalizację na serwerze; a następnie odwołaj się do nazwy obiektu katalogu, a nie do podstawowej ścieżki systemu plików.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. użycie wyjścia kursora w zaznaczeniu

  2. Jak uzyskać szerokość i długość z sdo_geometry w Oracle?

  3. Połącz się z Oracle z c#

  4. Alias ​​użytkownika bazy danych Oracle

  5. Jak wykonać SQL z poziomu skryptu bash?