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!!