Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

jalankan skrip Oracle sql dari java

Memiliki masalah yang sama belum lama ini, bertemu dengan pertanyaan Anda beberapa kali saat mencari solusi di googling, jadi saya rasa saya berhutang budi kepada Anda—inilah temuan saya sejauh ini:

Singkatnya, tidak ada solusi siap untuk itu:jika Anda membuka Semut atau Maven sumber, Anda akan melihat mereka menggunakan pembagi skrip berbasis regexp sederhana yang baik untuk skrip sederhana, tetapi biasanya gagal pada mis. prosedur tersimpan. Cerita yang sama dengan iBATIS, migrasi c5 db, dll.

Masalahnya adalah, ada lebih dari satu bahasa yang terlibat:untuk menjalankan "Skrip SQL" seseorang harus dapat menangani (1) perintah SQL, (2) PL/SQL, dan (3) sqlplus.

Menjalankan sqlplus itu sendiri memang caranya, tetapi itu menciptakan kekacauan konfigurasi, jadi kami mencoba menghindari opsi ini.

Ada parser ANTLR untuk PL/SQL, seperti Parser Alexander Porcelli —itu sangat dekat, tetapi tidak ada yang menyiapkan solusi drop-in lengkap berdasarkan sejauh ini.

Kami akhirnya menulis pembagi ad hoc lainnya yang mengetahui beberapa perintah sqlplus seperti / dan EXIT — masih jelek, tetapi berfungsi untuk sebagian besar skrip kami. (Perhatikan beberapa skrip, misalnya, dengan -- . di belakang komentar, tidak akan berhasil—itu masih kludge, bukan solusi.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana mengatasi ORA-00900

  2. Bagaimana melakukan Pivoting di Oracle 10g

  3. ora-01406 Kesalahan saat mengambil nilai menggunakan OCI

  4. Konversikan keluaran kueri Oracle ke json (Oracle / NodeJS)

  5. Bagaimana menerapkan Memcached yang disinkronkan dengan database