Ejecucion de archivo .sql

10/11/2005 - 16:52 por Eduardo Quiroz | Informe spam
Hola a todos.

Tengo un archivo de texto con extensión .sql o .txt que necesito ejecutar
diariamente. Lógicamente este archivo se genera todos los días con comandos
potencialmente distintos.
Lo que necesito es ejecutar ese archivo con sentencias sql y dejarlo
programado para ejecución automática. Lo intenté hacer con el servicio DTS o
de transformación de datos y con el sql agent. En ambos casos no me resultó,
puesto que cuando selecciono el archivo con las secuencias de sql me las
"copia" en la ventana donde se está creando la tarea y con ello queda
estático, es decir, si cambian los comandos en el archivo .sql no cambian en
la tarea. Necesito ejecutar esas consultas de ese archivo diariamente. En
mysql eso lo podía hacer con un comando de sistema, parecido a mysql tabla <
archivo.sql
y lo metía en un Cron. En Oracle lo podía hacer con la sentencia START
archivo.sql.
Sin embargo, no lo he logrado hacer en MS SQL SERVER. Tengo la versión
8.00xx del server.
De antemano, muchas gracias

Preguntas similare

Leer las respuestas

#1 Isaias
10/11/2005 - 16:58 | Informe spam
Utiliza OSQL.EXE

osql -E -i C:\Mi_carpeta\Mi_secuencia.sql -o C:\Mi_carpeta\Mis_resultados.rpt

Saludos
IIslas


"Eduardo Quiroz" escribió:

Hola a todos.

Tengo un archivo de texto con extensión .sql o .txt que necesito ejecutar
diariamente. Lógicamente este archivo se genera todos los días con comandos
potencialmente distintos.
Lo que necesito es ejecutar ese archivo con sentencias sql y dejarlo
programado para ejecución automática. Lo intenté hacer con el servicio DTS o
de transformación de datos y con el sql agent. En ambos casos no me resultó,
puesto que cuando selecciono el archivo con las secuencias de sql me las
"copia" en la ventana donde se está creando la tarea y con ello queda
estático, es decir, si cambian los comandos en el archivo .sql no cambian en
la tarea. Necesito ejecutar esas consultas de ese archivo diariamente. En
mysql eso lo podía hacer con un comando de sistema, parecido a mysql tabla <
archivo.sql
y lo metía en un Cron. En Oracle lo podía hacer con la sentencia START
archivo.sql.
Sin embargo, no lo he logrado hacer en MS SQL SERVER. Tengo la versión
8.00xx del server.
De antemano, muchas gracias
Respuesta Responder a este mensaje
#2 Gustavo Larriera [MVP]
10/11/2005 - 17:02 | Informe spam
Usa el comando de línea: OSQL.EXE -i script.sql

osql
[-?] |
[-L] |
[
{
{-U login_id [-P password]}
| -E
}
[-S server_name[\instance_name]] [-H wksta_name] [-d db_name]
[-l time_out] [-t time_out] [-h headers]
[-s col_separator] [-w column_width] [-a packet_size]
[-e] [-I] [-D data_source_name]
[-c cmd_end] [-q "query"] [-Q "query"]
[-n] [-m error_level] [-r {0 | 1}]
[-i input_file] [-o output_file] [-p]
[-b] [-u] [-R] [-O] [-X[1]]
]
Los detalles de cada argumento los puedes leer en los Books Online.

Gustavo Larriera
Uruguay LatAm
Blog: http://sqljunkies.com/weblog/gux/
MVP profile: http://aspnet2.com/mvp.ashx?GustavoLarriera
Este mensaje se proporciona "COMO ESTA" sin garantias y no otorga ningun
derecho / This posting is provided "AS IS" with no warranties, and confers
no rights.
"Eduardo Quiroz" <Eduardo wrote in message
news:
Hola a todos.

Tengo un archivo de texto con extensión .sql o .txt que necesito ejecutar
diariamente. Lógicamente este archivo se genera todos los días con
comandos
potencialmente distintos.
Lo que necesito es ejecutar ese archivo con sentencias sql y dejarlo
programado para ejecución automática. Lo intenté hacer con el servicio DTS
o
de transformación de datos y con el sql agent. En ambos casos no me
resultó,
puesto que cuando selecciono el archivo con las secuencias de sql me las
"copia" en la ventana donde se está creando la tarea y con ello queda
estático, es decir, si cambian los comandos en el archivo .sql no cambian
en
la tarea. Necesito ejecutar esas consultas de ese archivo diariamente. En
mysql eso lo podía hacer con un comando de sistema, parecido a mysql tabla
<
archivo.sql
y lo metía en un Cron. En Oracle lo podía hacer con la sentencia START
archivo.sql.
Sin embargo, no lo he logrado hacer en MS SQL SERVER. Tengo la versión
8.00xx del server.
De antemano, muchas gracias
Respuesta Responder a este mensaje
#3 Carlos Sacristán
10/11/2005 - 17:03 | Informe spam
Con la utilidad de línea de comandos osql puedes ejecutar archivos. Echa
un vistazo a esta función en los BOL para más información (tema 'Herramienta
osql')


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Eduardo Quiroz" <Eduardo escribió en el
mensaje news:
Hola a todos.

Tengo un archivo de texto con extensión .sql o .txt que necesito ejecutar
diariamente. Lógicamente este archivo se genera todos los días con


comandos
potencialmente distintos.
Lo que necesito es ejecutar ese archivo con sentencias sql y dejarlo
programado para ejecución automática. Lo intenté hacer con el servicio DTS


o
de transformación de datos y con el sql agent. En ambos casos no me


resultó,
puesto que cuando selecciono el archivo con las secuencias de sql me las
"copia" en la ventana donde se está creando la tarea y con ello queda
estático, es decir, si cambian los comandos en el archivo .sql no cambian


en
la tarea. Necesito ejecutar esas consultas de ese archivo diariamente. En
mysql eso lo podía hacer con un comando de sistema, parecido a mysql tabla


<
archivo.sql
y lo metía en un Cron. En Oracle lo podía hacer con la sentencia START
archivo.sql.
Sin embargo, no lo he logrado hacer en MS SQL SERVER. Tengo la versión
8.00xx del server.
De antemano, muchas gracias
Respuesta Responder a este mensaje
#4 Eduardo Quiroz
10/11/2005 - 17:06 | Informe spam
"Isaias" escribió:

Utiliza OSQL.EXE

osql -E -i C:\Mi_carpeta\Mi_secuencia.sql -o C:\Mi_carpeta\Mis_resultados.rpt



Muchas gracias por la presta respuesta. Es exactamente lo que necesitaba.
Aunque me queda una pura duda..En el archivo sql sólo tengo las consultas
(que son algo así como 32000 update xxxxxxx). Es necesario que realice alguna
"conexión" a la base de datos previo a la carga o de inmediato deduce a que
base de datos pertenece la tabla y la usa??...o es necesario un use xxxxxx
antes de empezar las querys???
Muchas gracias de nuevo!
Saludos!

Saludos
IIslas


"Eduardo Quiroz" escribió:

> Hola a todos.
>
> Tengo un archivo de texto con extensión .sql o .txt que necesito ejecutar
> diariamente. Lógicamente este archivo se genera todos los días con comandos
> potencialmente distintos.
> Lo que necesito es ejecutar ese archivo con sentencias sql y dejarlo
> programado para ejecución automática. Lo intenté hacer con el servicio DTS o
> de transformación de datos y con el sql agent. En ambos casos no me resultó,
> puesto que cuando selecciono el archivo con las secuencias de sql me las
> "copia" en la ventana donde se está creando la tarea y con ello queda
> estático, es decir, si cambian los comandos en el archivo .sql no cambian en
> la tarea. Necesito ejecutar esas consultas de ese archivo diariamente. En
> mysql eso lo podía hacer con un comando de sistema, parecido a mysql tabla <
> archivo.sql
> y lo metía en un Cron. En Oracle lo podía hacer con la sentencia START
> archivo.sql.
> Sin embargo, no lo he logrado hacer en MS SQL SERVER. Tengo la versión
> 8.00xx del server.
> De antemano, muchas gracias
Respuesta Responder a este mensaje
#5 Carlos Sacristán
10/11/2005 - 17:12 | Informe spam
Si echas un vistazo a los parámetros de la instrucción osql, verás que
hay uno [-d dbname] en el que le indicas la base de datos a la que quieres
conectarte.

Te recomiendo que eches un vistazo en los BOL a los detalles de esta
instrucción


Un saludo

-
"Sólo sé que no sé nada. " (Sócrates)

"Eduardo Quiroz" escribió en el
mensaje news:


"Isaias" escribió:

> Utiliza OSQL.EXE
>
> osql -E -i C:\Mi_carpeta\Mi_secuencia.sql -o


C:\Mi_carpeta\Mis_resultados.rpt

Muchas gracias por la presta respuesta. Es exactamente lo que necesitaba.
Aunque me queda una pura duda..En el archivo sql sólo tengo las consultas
(que son algo así como 32000 update xxxxxxx). Es necesario que realice


alguna
"conexión" a la base de datos previo a la carga o de inmediato deduce a


que
base de datos pertenece la tabla y la usa??...o es necesario un use xxxxxx
antes de empezar las querys???
Muchas gracias de nuevo!
Saludos!
>
> Saludos
> IIslas
>
>
> "Eduardo Quiroz" escribió:
>
> > Hola a todos.
> >
> > Tengo un archivo de texto con extensión .sql o .txt que necesito


ejecutar
> > diariamente. Lógicamente este archivo se genera todos los días con


comandos
> > potencialmente distintos.
> > Lo que necesito es ejecutar ese archivo con sentencias sql y dejarlo
> > programado para ejecución automática. Lo intenté hacer con el servicio


DTS o
> > de transformación de datos y con el sql agent. En ambos casos no me


resultó,
> > puesto que cuando selecciono el archivo con las secuencias de sql me


las
> > "copia" en la ventana donde se está creando la tarea y con ello queda
> > estático, es decir, si cambian los comandos en el archivo .sql no


cambian en
> > la tarea. Necesito ejecutar esas consultas de ese archivo diariamente.


En
> > mysql eso lo podía hacer con un comando de sistema, parecido a mysql


tabla <
> > archivo.sql
> > y lo metía en un Cron. En Oracle lo podía hacer con la sentencia START
> > archivo.sql.
> > Sin embargo, no lo he logrado hacer en MS SQL SERVER. Tengo la versión
> > 8.00xx del server.
> > De antemano, muchas gracias
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida