Estimados, una consulta quizas facil para ustedes.
como se ejecuta una dts, desde un procedimiento almacenado..
de ante mano, muchas gracias.
| |||
| 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:
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.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
----------------------------------------------------------------- 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 |