sql >> Database teknologi >  >> RDS >> Oracle

Skal udføre en sql-forespørgsel mod to Oracle DB'er i shell-script ad gangen og eksportere dataene til separate csv-filer

En given sqlplus-session kan kun oprette forbindelse til én db ad gangen, så dit krav 'på samme tid' er i det væsentlige en ikke-starter. Hvis 'på samme tid' virkelig betyder 'sekventielt, i det samme script, så er du tilbage til at rette din forbindelsesstreng. Og så 'har du flere fejl end et tidligt Mets-spil' (med undskyldninger til alle NY Mets-fans).

For det første indikerer dit script, at din sqlplus-kommando er den allerførste egentlige kommando efter specifikation af din shell-processor og 'set -x'. Alligevel gør du stor brug af miljøvariabler som erstatning for brugernavn, adgangskode og forbindelsesnavn - uden nogensinde at indstille disse variabler.

For det andet er din brug af et '&' i kommandolinjen totalt forvirrende for både mig og parseren.

For det tredje skal du foran din reference til sql-scriptet med '@'.

For det fjerde er din rækkefølge af elementer i kommandolinjen helt forkert.

Prøv dette

#!/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. Grupper efter skal returnere 0 ved gruppering efter timer. Hvordan gør man dette?

  2. Hvorfor sætter vores forespørgsler fast på staten Writing to net i MySql?

  3. Sådan konfigureres PHP Test Server i Dreamweaver?

  4. Hvordan forbinder man NetBeans til MySQL-databasen?