Tecnología

Inicio

Cómo escribir secuencias de comandos de Unix para una consulta SQL y un proceso de carrete

Cómo escribir secuencias de comandos de Unix para una consulta SQL y un proceso de carrete


La capa más externa del sistema operativo Unix se llama la cáscara - es la interfaz entre el usuario y el sistema operativo. Unix ofrece varios formatos de programación de shell que siguen un patrón básico común. El C Shell, Shell Korn y Bourne Shell son populares lenguajes de script. Un usuario en los tipos de la consola de comandos UNIX al "indicador", lo cual se indica como un signo "$" por defecto. Un script de shell es un programa que es interpretado por el shell. Es tratado como cualquier comando shell de Unix en el símbolo de la siguiente manera:

$ Run_sql_script.sh> sql_report.prn

Instrucciones

Shell script de esquema

1 Iniciar sesión en el sistema Unix con la cuenta de usuario proporcionada a usted. Si usted es el administrador del sistema, inicie la sesión como usuario "root". La señal de aviso para el usuario "root" es "#" y que para otros usuarios es "$" por defecto.

2 En el símbolo del sistema operativo, escriba "vi" para iniciar el editor "vi" de esta manera:
$ vi

O
$ Vi run_sql_script.sh
para especificar el nombre del archivo que se crea, edita y se guarda.

3 Declarar la ruta de la shell usada y describir la secuencia de comandos en una línea de comentario que comienza con "#", tales como:

run_sql_script.sh: Un script de shell para ejecutar SQL informe y enviarlo a la printer.Usage: run_sql_script.sh <db_username> <contraseña_bd>

#

! / bin / sh

4 Declarar variables de shell necesarias, validar usuario y contraseña proporcionada por el usuario y ejecutar la utilidad de SQL para su sistema de base de datos relacional. Ver shell script a continuación:

run_sql_script.sh: Un script de shell para ejecutar SQL informe y enviarlo a la printer.Usage: run_sql_script.sh <db_username> <contraseña_bd>

#

! / Variables de shell bin / shInitialize. Mantiene simple por el momento being.These más tarde se puede obtener de usuario en los argumentos de forma ofcommand de línea.

HOSTNAME = "MyUnixWorkstation"
SERVER = "CorporateSybServer"
SQLSCRIPT = "ExtractOrderRpt.sql"
SQLOUTPUT = "OrderRpt" fecha de + $ () + ".prn"
IMPRESORA = "CentralOfficePrinter01"
DB_USERNAME = $ 1

DB_PASSWORD = $ 2

Validar los argumentos de línea de comandos

if [-z "$ {} DB_USERNAME" || -z "$ {} DB_PASSWORD"]
entonces

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

fi

Ejecute la utilidad de comandos SQL para sus RDBMS y redirigir la salida a un archivo.

isql -H $ -S $ NOMBREHOST SERVIDOR -U $ -P $ DB_USERNAME DB_PASSWORD $ DB_PATH $ SQLSCRIPT -o $ SQLOUTPUT

Ahora imprimir el archivo en la impresora adecuada

lpr -P $ SQLOUTPUT $ IMPRESORA

echo "Su reporte ha sido impreso."
exit 0

A través de la cola de impresión SQL

5 Enviar la salida de la secuencia de comandos SQL directamente a la impresora utilizando el SQL * Plus palabra clave "carrete" Si está utilizando Oracle.

SQLOut.LS carrete crean
seleccione el nombre, dirección, teléfono, cantidad
del cliente C, orden o
donde c.customer_id == o.customer_id
carrete a cabo

Esta secuencia de comandos SQL * Plus envía su salida del servidor de base de datos para los archivos "SQLOut.LS" y luego lo imprime en la impresora predeterminada.

6 Aceptar más y más variables de usuario en forma de argumentos de línea de comandos para hacer su secuencia de comandos SQL y shell script de Unix más sofisticado y robusto. De esta manera la secuencia de comandos funciona en cualquier ordenador y el servidor de base de datos, su salida enviada a la pantalla, cualquier archivo con una ruta especificada o una impresora especificada.

7 Averiguar la línea de comandos para desactivar la visualización de las partidas en la salida de SQL para la utilidad de SQL que va a utilizar. Por ejemplo, de Oracle SQL * Plus proporciona el interruptor "-b" y el programa "isql" de Sybase utiliza varios interruptores para dar formato a la salida.