Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Ejecutar dts

Estas en el tema de Ejecutar dts en el foro de SQL Server en Foros del Web. Estimados, una consulta quizas facil para ustedes. como se ejecuta una dts, desde un procedimiento almacenado.. de ante mano, muchas gracias....
  #1 (permalink)  
Antiguo 01/03/2007, 12:29
 
Fecha de Ingreso: marzo-2006
Mensajes: 12
Antigüedad: 18 años, 1 mes
Puntos: 0
Ejecutar dts

Estimados, una consulta quizas facil para ustedes.

como se ejecuta una dts, desde un procedimiento almacenado..

de ante mano, muchas gracias.
  #2 (permalink)  
Antiguo 01/03/2007, 15:59
 
Fecha de Ingreso: noviembre-2006
Ubicación: México
Mensajes: 866
Antigüedad: 17 años, 6 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
  #3 (permalink)  
Antiguo 14/03/2007, 13:16
 
Fecha de Ingreso: marzo-2006
Mensajes: 12
Antigüedad: 18 años, 1 mes
Puntos: 0
Re: Ejecutar dts

ok, muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:38.