Hur man skriver Unix-skript för en SQL Query och Spool Process

August 2

Hur man skriver Unix-skript för en SQL Query och Spool Process


Det yttersta lagret av operativsystemet Unix kallas skalet - det är gränssnittet mellan användaren och operativsystemet. Unix har flera skal programmering format som följer en gemensam grundmönster. C Shell, Korn Shell och Bourne Shell är populära skriptspråk. En användare på Unix konsolltyperna kommandon på "prompt", som anges som ett "$" tecken som standard. Ett skalskript är ett program som tolkas av skalet. Det behandlas precis som alla Unix shell kommando vid prompten på följande sätt:

$ Run_sql_script.sh> sql_report.prn

Instruktioner

Shell Script Layout

1 Logga in på Unix-systemet med det användarkonto som du får. Om du är systemadministratör, logga in som "root" användare. Uppmaningen tecken för "root" användaren är "#" och att för andra användare är "$" som standard.

2 Vid OS tolken skriver "vi" för att starta editorn "vi" så här:
$ VI

ELLER
$ VI run_sql_script.sh
att ange namnet på den fil som skapas, redigeras och sparas.

3 Deklarera sökvägen till skalet används och beskriva skriptet i en kommentar rad som börjar med "#", till exempel:

run_sql_script.sh: Ett skalskript att köra SQL rapport och skicka den till printer.Usage: run_sql_script.sh <db_username> <db_password>

#

! / bin / sh

4 Deklarera nödvändiga skalvariabler, validera användarnamn och lösenord som ges av användaren och köra SQL verktyg för relationsdatabassystem. Se skalskript nedan:

run_sql_script.sh: Ett skalskript att köra SQL rapport och skicka den till printer.Usage: run_sql_script.sh <db_username> <db_password>

#

! / Bin / shInitialize skalvariabler. Hålls enkelt för tiden being.These senare erhållas från användaren i form ofcommand linje argument.

Hostname = "MyUnixWorkstation"
SERVER = "CorporateSybServer"
SQLSCRIPT = "ExtractOrderRpt.sql"
SQLOUTPUT = "OrderRpt" + $ Date () + ".prn"
PRINTER = "CentralOfficePrinter01"
DB_USERNAME = $ 1

DB_PASSWORD = $ 2

Validera kommandoradsargument

om [-Z "$ {DB_USERNAME}" || -Z "$ {DB_PASSWORD}"]
sedan

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

fi

Kör SQL-kommandot verktyg för dina RDBMS och omdirigera utdata till fil.

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

Nu skriva ut filen på lämplig skrivare

lpr $ SQLOUTPUT -P $ PRINTER

echo "Rapporten har skrivits ut."
exit 0

Spooling Genom SQL

5 Skicka produktionen av SQL-skript till skrivaren direkt med hjälp av SQL * Plus sökordet "spole" Om du använder Oracle.

spool SQLOut.LS skapar
välj namn, adress, telefonnummer, antal
från kund c, för o
där c.customer_id == o.customer_id
spola ut

Denna SQL * Plus script sänder sin databasserver utgång till filen "SQLOut.LS" och sedan skriver den till standardskrivare.

6 Acceptera fler och fler variabler från användaren i form av kommandoradsargument för att göra din SQL-skript och Unix script mer sofistikerade och robust. Detta sätt skriptet fungerar på alla värden och databasserver, dess utgång skickas till skärmen, en fil med en viss väg eller en viss skrivare.

7 Ta reda på kommandoraden växlar att stänga av visning av rubriker i SQL utgång för SQL verktyg som du kommer att använda. Till exempel ger Oracle SQL * Plus "-b" switch och Sybase "isql" Programmet använder flera växlar för att formatera utdata.


        

Välkommen till dig för att skicka en kommentar:

            
            
            
            

© 2019 Astrixsoft.com | Contact us: webmaster# astrixsoft.com