-
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:
$ viO
$ 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 = $ 1DB_PASSWORD = $ 2
Validar los argumentos de línea de comandos
if [-z "$ {} DB_USERNAME" || -z "$ {} DB_PASSWORD"]
entoncesecho "Usage: run_sql_script.sh <db_username> <db_password>"
exit 2fi
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 $ SQLOUTPUTAhora imprimir el archivo en la impresora adecuada
lpr -P $ SQLOUTPUT $ IMPRESORAecho "Su reporte ha sido impreso."
exit 0A 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 caboEsta 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.