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 "Usage: run_sql_script.sh <db_username> <db_password>"
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.