Nwlapcug.com


Come scrivere gli script Unix per una Query SQL e un processo di Spool

Come scrivere gli script Unix per una Query SQL e un processo di Spool


Lo strato più esterno del sistema operativo Unix è denominato shell è l'interfaccia tra l'utente e il sistema operativo. UNIX fornisce diverse shell programmazione formati che seguono uno schema base comune. La C Shell e Korn Shell Bourne Shell sono popolari linguaggi di scripting. Un utente presso i comandi di tipi di console Unix presso il "prompt", che è indicato come un simbolo "$" per impostazione predefinita. Uno script di shell è un programma che è interpretato dalla shell. Si è trattato come qualsiasi comando di shell Unix al prompt come segue:

$ run_sql_script.sh > sql_report.prn

Istruzioni

Layout di Script di Shell

1

Eseguire il login al sistema Unix con l'account di utente fornito a voi. Se sei l'amministratore di sistema, accedere come utente "root". Il segno rapido per l'utente "root" è "#" e che per gli altri utenti è "$" per impostazione predefinita.

2

Al prompt di OS, digitare "vi" per avviare l'editor "vi" come questo:
$ vi

OR
$ vi run_sql_script.sh
per specificare il nome del file viene creato, modificato e salvato.

3

Dichiarare il percorso alla shell utilizzato e descrivere lo script in una riga di commento che inizia con "#", ad esempio:

run_sql_script.sh: uno script di shell per eseguire SQL report e inviarlo alla stampante. Uso: run_sql_script.sh < db_username >< db_password >

#

! / bin/sh 4

Dichiarare le variabili della shell necessari, convalidare il nome utente e la password forniti dall'utente ed eseguire l'utilità SQL per il sistema di database relazionale. Vedere script di shell qui sotto:

run_sql_script.sh: uno script di shell per eseguire SQL report e inviarlo alla stampante. Uso: run_sql_script.sh < db_username >< db_password >

#

! / bin/shInitialize variabili di shell. Mantenute semplici per il momento. Questi possono poi essere ottenuti dall'utente negli argomenti della riga di ofcommand forma.

HOSTNAME = "MyUnixWorkstation"
SERVER = "CorporateSybServer"
SQLSCRIPT = "ExtractOrderRpt.sql"
SQLOUTPUT = "OrderRpt" + $date() + "PRN"
STAMPANTE = "CentralOfficePrinter01"
DB_USERNAME = $1

DB_PASSWORD = $2

Convalidare gli argomenti della riga di comando

Se [- z "${DB_USERNAME}" | | - z "${DB_PASSWORD}"]
quindi

echo &quot;Usage: run_sql_script.sh &lt;db_username> &lt;db_password>&quot;
exit 2

Fi

Eseguire l'utilità di comando SQL per il RDBMS e reindirizzare l'output al file.

isql -H $HOSTNAME -S $SERVER - U $DB_USERNAME -P $DB_PASSWORD $DB_PATH $SQLSCRIPT -o $SQLOUTPUT

Ora stampare il file sulla stampante appropriata

LPR $SQLOUTPUT -P $PRINTER

echo "è stato stampato il report."
exit 0

Spooling attraverso SQL

5

Inviare l'output dello script SQL alla stampante direttamente utilizzando il SQL * Plus la parola chiave "spool" Se si utilizza Oracle.

creare spool SQLOut.LS
selezionare nome, indirizzo, telefono, quantità
da cliente c, ordine o
dove c.customer_id = = o.customer_id
svolgere la

Questo SQL * Plus script Invia l'output del server di database nel file "SQLOut.LS" e quindi viene stampato sulla stampante predefinita.

6

Accettare sempre più variabili dell'utente sotto forma di argomenti della riga di comando per rendere il vostro script SQL e script di shell Unix più sofisticati e robusti. In questo modo lo script funzionerà su qualsiasi server host e database, l'output inviato sullo schermo, qualsiasi file con un percorso specificato o una stampante specificata.

7

Scopri le opzioni della riga di comando per disattivare la visualizzazione delle voci nell'output di SQL per l'utilità SQL che verrà utilizzato. Ad esempio, Oracle SQL * Plus fornisce la "-b" interruttore e di Sybase "isql" programma utilizza diversi interruttori per formattare l'output.