Oracle
 sql >> база данни >  >> RDS >> Oracle

стартирайте скрипта oracle sql от java

Имах същия проблем не толкова отдавна, натъкнах се на въпроса ви няколко пъти, докато търсих решение в гугъл, така че мисля, че съм ви задължен – ето моите открития досега:

Накратко, няма готови решения за това:ако отворите Ant или Maven източници, ще видите, че те използват прост сплитер на скриптове, базиран на regexp, който е добър за прости скриптове, но обикновено се проваля напр. съхранени процедури. Същата история с iBATIS, c5 db миграции и т.н.

Проблемът е, че има повече от един включен език:за да стартирате „SQL скриптове“, човек трябва да може да обработва (1) SQL, (2) PL/SQL и (3) sqlplus команди.

Изпълнява се sqlplus самият той наистина е начинът, но създава бъркотия в конфигурацията, така че се опитахме да избегнем тази опция.

Има ANTLR парсери за PL/SQL, като този на Александър Порчели — те са много близки, но досега никой не е подготвил цялостно решение на базата на тях.

Накрая написахме още един ad hoc сплитер който е наясно с някои sqlplus команди като / и EXIT — все още е грозен, но работи за повечето от нашите скриптове. (Въпреки това, имайте предвид някои скриптове, напр. със завършващ -- коментари, няма да работи - все още е грешка, а не решение.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как мога да получа регион на часовата зона от SQLPLUS?

  2. Как да предавам динамично стойности към IN оператор?

  3. Как да получите максималната възможна дата в Oracle?

  4. Как да обработваме тип данни Clob в Excel от SQL заявка

  5. count(*) не може да бъде избран в PL/SQL