Tema: Ejecutar dts
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/03/2007, 15:59
daniel00
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 18 años, 4 meses
Puntos: 8
Re: Ejecutar dts

Que tal Rockbles.

Con el siguiente SP, pero tienes que asignar permisos de ejecución a los SP que se mencionan dentro ( sp_OACreate, por ejemplo, sp_OA* ) al usuario que ejecutará el SP, los SP's sp_OA* se encuentran en la base de datos Master en los SP extended.

Código:
CREATE PROC dbo.sp_EjecutarPaqueteEnServidor ( @PackageName  varchar(70) )
/*
 * Objetivo: Ejecuta el Nombre del paquete que recibe como parametro.
 * Observación: El paquete debe estar en el mismo servidor donde se encuentra este SP.
 *
 * Autor: Daniel00
 * Febrero 2004
 *
 * Test:  dbo.sp_EjecutarPaqueteEnServidor 'DTSDemo'
 */
AS
DECLARE @object int 
DECLARE @hr int 
DECLARE @ErrSource varchar(200)
DECLARE @ErrDescrip varchar(200)


-- Crear Objecto Paquete.
EXEC @hr = sp_OACreate 'DTS.Package', @object OUTPUT 
if @hr <> 0 
BEGIN 
	RAISERROR ('Error al crear el Objecto Package.', 16, 1)
RETURN 
END 

EXEC @hr = sp_OAMethod @object, 'LoadFromSQLServer', NULL,@ServerName =@@serverName , 
			@Flags = 256 , 		
			@PackageName = @PackageName  
IF @hr <> 0 
BEGIN 
       EXEC @hr = sp_OAGetErrorInfo @object,@ErrSource OUTPUT,@ErrDescrip OUTPUT
	RAISERROR ('Error al Cargar el Objecto Package.', 16, 1)
       RETURN
RETURN 
END 

EXEC @hr = sp_OAMethod @object, 'Execute' 
IF @hr <> 0 
BEGIN 
	RAISERROR ('Error al Ejecutar el Objecto Package:' , 16, 1)
RETURN 
END 

EXEC @hr = sp_OADestroy @object

GO
Los SP sp_OA* te permiten manipular componentes(DLL) dentro de SQL Server, así es que debes de poner especial atención a la seguridad.
-----------------------------------------------------------------
add:

En los libros en pantalla de SQL server puedes encontrar más ayuda, todos los métodos y propiedades del objeto DTS.Package , y todo lo que se puede hacer con ellos.
----------------------------------------------------------------
saludos y suerte!!

Última edición por daniel00; 01/03/2007 a las 16:07 Razón: add info