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

uruchom skrypt Oracle sql z java

Miałem ten sam problem nie tak dawno temu, kilka razy natknąłem się na twoje pytanie podczas szukania rozwiązania w Google, więc myślę, że jestem ci to winien — oto moje dotychczasowe ustalenia:

W skrócie nie ma na to gotowych rozwiązań:jeśli otworzysz Mrówka lub Maven źródła, zobaczysz, że używają prostego rozdzielacza skryptów opartego na wyrażeniach regularnych, który jest dobry dla prostych skryptów, ale zwykle zawodzi np. procedury składowane. Ta sama historia z iBATIS, migracjami c5 db itp.

Problem polega na tym, że w grę wchodzi więcej niż jeden język:aby uruchomić „Skrypty SQL”, trzeba umieć obsługiwać polecenia (1) SQL, (2) PL/SQL i (3) sqlplus.

Uruchamianie sqlplus samo w sobie jest właściwą drogą, ale tworzy bałagan w konfiguracji, więc staraliśmy się uniknąć tej opcji.

Istnieją parsery ANTLR dla PL/SQL, takie jak Alexandre Porcelli — są bardzo zbliżone, ale nikt nie przygotował kompletnego rozwiązania typu drop-in na podstawie tych do tej pory.

Skończyło się na pisaniu jeszcze inny rozdzielacz ad hoc który jest świadomy niektórych poleceń sqlplus, takich jak / i EXIT — nadal jest brzydki, ale działa z większością naszych skryptów. (Zauważ, że niektóre skrypty, np. z końcowym -- komentarze, nie zadziała — to nadal przeszkoda, a nie rozwiązanie).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Powód uzyskania ORA-01422:dokładne pobieranie zwraca więcej niż żądaną liczbę wierszy

  2. Jak mogę wybrać 10, 20, 30 ... wiersz wyniku innego zapytania wybierającego?

  3. Przykład klauzuli Oracle PIVOT z podzapytaniem

  4. Oracle/SQL — Znajdowanie rekordów z jedną wartością z wyłączeniem wartości null

  5. jak wysłać SMS przez Oracle 11g? klient to ropucha a w Indiach muszę wysłać sms