103 votos

Ejecutar Oracle SQL script y salida de sqlplus.exe a través del símbolo del sistema

Me gustaría ejecutar una secuencia de comandos de Oracle a través de SQL Plus a través de un símbolo del sistema de Windows. El guión no contiene una "salida" de comandos, pero todavía me gustaría SQL Plus para salir, de devolver el control a la línea de comandos de finalización de la secuencia de comandos. Mi objetivo es hacerlo sin modificar la secuencia de comandos. Es esto posible?

129voto

Dave Costa Puntos 786

Otra forma es utilizar este comando en el archivo por lotes:

echo exit | sqlplus user/pass@connect @scriptname

6voto

Ethan Post Puntos 140

También puede hacer esto en su secuencia de comandos de shell.

sqlplus /nolog <<EOF
connect user/pass
@run_some_file.sql
select * from dual;
EOF

Usted puede ser que necesite para escapar del ";" con un \.

3voto

Charles Duffy Puntos 407

Sí, es posible -- generar un contenedor de secuencia de comandos que establece SQLPlus adecuadamente, incluye el script (es decir. @YourTargetScript.sql) y, a continuación, hace una salida.

Dicho esto, no recomiendo este enfoque en todos -- SQLPlus tiene una gran cantidad de trampas para el uso programático; cuando la escritura de secuencias de comandos de shell en el pasado que utilizan Oracle, he construido un Python contenedor (añadiendo más razonable comportamiento del control de errores, la separación adecuada de salida entre stdout/stderr, nativo de salida CSV de apoyo, y otras cosas), y que funcionó mucho mejor.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: