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

Perlu menjalankan satu kueri sql terhadap dua Oracle DB dalam skrip shell sekaligus dan mengekspor data ke file csv yang terpisah

Sesi sqlplus yang diberikan hanya dapat terhubung ke satu db pada satu waktu, jadi kebutuhan Anda 'pada saat yang sama' pada dasarnya adalah non-starter. Jika 'pada saat yang sama' benar-benar berarti 'secara berurutan, dalam skrip yang sama, maka Anda kembali untuk memperbaiki string koneksi Anda. Dan saat itu Anda 'memiliki lebih banyak kesalahan daripada game Mets awal' (dengan permintaan maaf kepada semua penggemar NY Mets).

Pertama, skrip Anda menunjukkan bahwa perintah sqlplus Anda adalah perintah aktual pertama yang mengikuti spesifikasi prosesor shell Anda dan 'set -x'. Namun Anda sering menggunakan variabel lingkungan sebagai pengganti nama pengguna, sandi, dan nama koneksi - tanpa pernah menyetel variabel tersebut.

Kedua, penggunaan '&' Anda di baris perintah benar-benar membingungkan saya dan pengurai.

Ketiga, Anda harus mendahului referensi Anda ke skrip sql dengan '@'.

Keempat, urutan elemen Anda di baris perintah semuanya salah.

Coba ini

#!/bin/bash
orauser1=<supply user name here>
orapw2=<supply password here>
oradb_1=<supply connection name of first database>
#
orauser1=<supply user name here>
orapw2=<supply password here>
oradb_1=<supply connection name of first database>
#
Targetdirectory=<supply value here>
#
sqlplus -S ${orauser1}/${orapw1}@${oradb_1} @Datesquery.sql >> ${Targetdirectory}/csvfile1.csv

sqlplus -S ${orauser2}/${orapw2}@${oradb_1} @Datesquery.sql >> ${Targetdirectory}/csvfile2.csv


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Perbarui urutan untuk kondisi tertentu - Oracle

  2. Menghubungkan Oracle 21c ke SQL Server

  3. Impor Massal Oracle

  4. Kode EntityFramework Pertama Oracle

  5. Bagaimana cara mengonversi teks menjadi angka secara efisien di Oracle PL/SQL dengan NLS_NUMERIC_CHARACTERS non-default?