SQL - DTS desde Stored Procedure

 
Vista:

DTS desde Stored Procedure

Publicado por Edward Angulo (12 intervenciones) el 19/06/2001 20:47:45
Mi pregunta es muy sencilla:
Me gustaría saber si existe alguna forma de ejecutar un DTS desde un Stored Procedure.
De antemano agradesco cualquier ayuda que me puedan brindar y me ofrezco para ayudarles a despejar alguna duda que tengan sobre SQL Server o Visual Basic.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:DTS desde Stored Procedure

Publicado por Gonzalo Solano C. (148 intervenciones) el 20/06/2001 00:14:03
Edward:

Mira voy a dividir tu pregunta en dos respuestas.
1. para ejecutar un dts desde linea de comando, puedes utilizar el comando "dtsrun"
2. Para ejecutar un comando desde un stored procedure utilizas xp_cmdshell.

Ahora si te das cuenta puedes unir estas dos cosas en un stored procedure tomando en cuenta las siguientes consideraciones:

1. xp_cmdshell se ejecuta cuando la base de datos activa es Master de otra manera no es posible (por favor averiguar)
2. No es posible colocar dentro de un stored procedure el comando USE.

asi que podrias hacer lo siguiente:

CREATE PROCEDURE DTSRunEj
AS
EXEC xp_cmdshell 'dtsrun /S SERVERNAME /U sa /P sa /N Nombredel PaqueteDTS', no_output
GO

Pero para ejecutar este procedimiento tienes que llamarlo de la siguiente manera:

USE Master
EXEC DTSRunEj

Para que la base de datos activa sea Master.

espero que esto te ayude, sino avisame para ayudarte de mejor manera

Saludos desde BOLIVIA
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DTS desde Stored Procedure

Publicado por Matias (1 intervención) el 13/06/2006 16:10:57
Que tal, mira yo pude encontrar la forma de ejecutar xp_cmdshell desde cualquier base, lo que tenes que verificar, es que tengas los permisos (grant execute) asignados para el usuario que uses.
Ejemplo

DECLARE @result int
EXEC @result = master..xp_cmdshell 'dir *.exe'

/*
Fijate que puse master..xp_cmdshell... (con dos puntos despues de master, esto le indica que debe buscar este stored en master, tambien se puede poner:
master.dbo.xp_cmdshell porque es propietario dbo de este xp)
*/

IF (@result = 0)
PRINT 'OK'
ELSE
PRINT 'Error'
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DTS desde Stored Procedure

Publicado por Jonathan Casanova (5 intervenciones) el 03/03/2008 23:07:12
Buenas amig@s:

Yo intento llamar a un dts que se encuentra en otra base de datos que no es la MASTER, y lo hago de la siguiente manera. Lo cual no me sirve, si son tan amables de ayudarme.

No se si el nombre del server (10.1.2.80) me estará dando problemas.

Gracias de antemano.


CREATE PROCEDURE dbo.paEjecutaDtsCargaDatosNemagon

AS

DECLARE @result int

EXEC @result = NemagonR2..xp_cmdshell 'dtsrun /S 10.1.2.80 /U si0mmm /P si0mmm /N DtsCargaDatosNemagon'

IF (@result = 0)
PRINT 'OK'
ELSE
PRINT 'Error'

GO
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:DTS desde Stored Procedure

Publicado por Andres (1 intervención) el 28/09/2012 15:35:28
Espero que te sirva asi cree mi sp para poder ejecutar el dts.

1
2
3
4
5
6
CREATE PROCEDURE sp_EjecutarDTS(@Paquete varchar(500) )
As
   declare @Sql varchar(8000)
   Set @Sql = 'dtsrun /s (local) /e /n ' + @Paquete
   exec master.dbo.xp_cmdshell @Sql
Go


el @paquete es el nombre del dts(ojala lo tengan sin espacion si es que son dos palabras)
/s es el nombre del servidor


**-------------------------------------------------------------------------------------------**
alguien sabe como puedo llamar al sp desde visual studio 2010 c#
**-------------------------------------------------------------------------------------------**
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar