Ejecutar Script(.sql) desde aplicación

03/05/2004 - 13:42 por Boter | Informe spam
Buenas:

Estoy intentando ejecutar un Script (ficheros con extensión .sql) desde la
aplicación, concretamente el script ejecuta varias sentencias SQL, separadas
por GO.

He leido en la Ayuda de SQL-Server, pero lo único que he encontrado es
ejecutar pormedio de ExcecuteInmediate, pero con eso no puede ejecutar
leyendo desde un fichero .sql que tienes varios comandos.

Solamente me permite ejecutar, una sola sentencia, lo que me obliga, a
realizar la llamada como tantas sentencias tenga.

Mi idea es ejecutar todo el script.sql... es posible eso.

Estoy trabajando con SQL-Server 2000

Gracias. Boter.

Preguntas similare

Leer las respuestas

#1 ulises
03/05/2004 - 15:41 | Informe spam
Revisa osql.exe en el BOL.

Saludos,
Ulises

Buenas:

Estoy intentando ejecutar un Script (ficheros con


extensión .sql) desde la
aplicación, concretamente el script ejecuta varias


sentencias SQL, separadas
por GO.

He leido en la Ayuda de SQL-Server, pero lo único que he


encontrado es
ejecutar pormedio de ExcecuteInmediate, pero con eso no


puede ejecutar
leyendo desde un fichero .sql que tienes varios comandos.

Solamente me permite ejecutar, una sola sentencia, lo que


me obliga, a
realizar la llamada como tantas sentencias tenga.

Mi idea es ejecutar todo el script.sql... es posible eso.

Estoy trabajando con SQL-Server 2000

Gracias. Boter.



.

Respuesta Responder a este mensaje
#2 Javier Loria
03/05/2004 - 15:44 | Informe spam
Hola:
Si, puedes ejecutar las sentencias de un script desde una aplicacion,
para esto tienes varias alternativas.
La mas "fuerza bruta" es invocar directamente la aplicacion OSQL o
incluso ISQL y pasar como parametros la ruta del archivo. Este metodo es
sencillo simplemente pasas con el parametro -i la ruta del archivo y con -o
la ruta del archivo de salida, luego en tu programa revisas que tal salio.
La desventaja es que la herramienta tiene que estar instalada en la estacion
que ejecuta el programa de instalacion.
Una mas elaborada es usar SQL-DMO que te permite crear un objeto
SQLServer e invocar alguno de sus metodos Execute (ExecuteInmidate,
ExecuteWithResults o ExecuteWithResultsAndMessages). En este caso tiene un
poco mas de control pero requieres que tu programa incluya el DLL con los
objetos administrativos de SQL.
La ultima opcion, es hacerlo directamente en tu aplicacion, leer el
archivo, "quebrar" el archivo en bloques buscando la palabra GO y
dividiendo. Cada bloque lo envias usando el mecanismo que normalmente
empleas para conectarte a la BD. Esta opcion es un poco mas laboriosa para
el programador pero no requiere aplicaciones o DLL's adicionales.
Saludos,

Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.


Boter escribio:
Buenas:

Estoy intentando ejecutar un Script (ficheros con extensión .sql)
desde la aplicación, concretamente el script ejecuta varias
sentencias SQL, separadas por GO.

He leido en la Ayuda de SQL-Server, pero lo único que he encontrado es
ejecutar pormedio de ExcecuteInmediate, pero con eso no puede ejecutar
leyendo desde un fichero .sql que tienes varios comandos.

Solamente me permite ejecutar, una sola sentencia, lo que me obliga, a
realizar la llamada como tantas sentencias tenga.

Mi idea es ejecutar todo el script.sql... es posible eso.

Estoy trabajando con SQL-Server 2000

Gracias. Boter.
Respuesta Responder a este mensaje
#3 Boter
03/05/2004 - 16:59 | Informe spam
ok, Gracias por las respuestas, revisaré lo de oSQL e iSQL

Javier, aunque creo, que de las opciones que me comentas, voy a encaminar el
asunto por el último punto, donde me indicas "quebrar" el archivo, ya que
como bien comentas utilizaré el mismo mecanismo de conexión a la DB.

Ya que entiendo según comentas, que para poder usar oSQL e iSQL, tendría que
instalar de alguna forma el SQLServer (en el puesto cliente) para poder
ejecutarlo desde el puesto, ya que este es el caso.

Gracias. Boter

"Boter" escribió en el mensaje
news:
Buenas:

Estoy intentando ejecutar un Script (ficheros con extensión .sql) desde la
aplicación, concretamente el script ejecuta varias sentencias SQL,


separadas
por GO.

He leido en la Ayuda de SQL-Server, pero lo único que he encontrado es
ejecutar pormedio de ExcecuteInmediate, pero con eso no puede ejecutar
leyendo desde un fichero .sql que tienes varios comandos.

Solamente me permite ejecutar, una sola sentencia, lo que me obliga, a
realizar la llamada como tantas sentencias tenga.

Mi idea es ejecutar todo el script.sql... es posible eso.

Estoy trabajando con SQL-Server 2000

Gracias. Boter.



Respuesta Responder a este mensaje
#4 manuel garcía
03/05/2004 - 17:34 | Informe spam
Tambienpodrías ejecutar el archivo oSQL e iSQL desde xp_cmdshell si tienes
permisos o te los pueden. De esta forma no necesitarás instalar nada en el
puesto cliente

"Boter" escribió en el mensaje
news:
Buenas:

Estoy intentando ejecutar un Script (ficheros con extensión .sql) desde la
aplicación, concretamente el script ejecuta varias sentencias SQL,


separadas
por GO.

He leido en la Ayuda de SQL-Server, pero lo único que he encontrado es
ejecutar pormedio de ExcecuteInmediate, pero con eso no puede ejecutar
leyendo desde un fichero .sql que tienes varios comandos.

Solamente me permite ejecutar, una sola sentencia, lo que me obliga, a
realizar la llamada como tantas sentencias tenga.

Mi idea es ejecutar todo el script.sql... es posible eso.

Estoy trabajando con SQL-Server 2000

Gracias. Boter.



Respuesta Responder a este mensaje
#5 Boter
03/05/2004 - 18:04 | Informe spam
Gracias Manuel, también me parece interesante esta opción, creo que es
posible, voy a estudiar el tema y la posibilidad de la misma.

Gracias. Boter

"manuel garcía" escribió en el mensaje
news:
Tambienpodrías ejecutar el archivo oSQL e iSQL desde xp_cmdshell si tienes
permisos o te los pueden. De esta forma no necesitarás instalar nada en el
puesto cliente

"Boter" escribió en el mensaje
news:
> Buenas:
>
> Estoy intentando ejecutar un Script (ficheros con extensión .sql) desde


la
> aplicación, concretamente el script ejecuta varias sentencias SQL,
separadas
> por GO.
>
> He leido en la Ayuda de SQL-Server, pero lo único que he encontrado es
> ejecutar pormedio de ExcecuteInmediate, pero con eso no puede ejecutar
> leyendo desde un fichero .sql que tienes varios comandos.
>
> Solamente me permite ejecutar, una sola sentencia, lo que me obliga, a
> realizar la llamada como tantas sentencias tenga.
>
> Mi idea es ejecutar todo el script.sql... es posible eso.
>
> Estoy trabajando con SQL-Server 2000
>
> Gracias. Boter.
>
>
>


Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida