Las opciones que están disponibles para ejecutar un paquete SSIS son -
- paquete SSIS ejecuta mediante programación utilizando modelo de objetos. Esto se discute en detalles en Books Online here.
Un ejemplo:
using System;
using Microsoft.SqlServer.Dts.Runtime;
namespace RunFromClientAppCS
{
class Program
{
static void Main(string[] args)
{
string pkgLocation;
Package pkg;
Application app;
DTSExecResult pkgResults;
pkgLocation = "<package path>\CalculatedColumns.dtsx";
app = new Application();
pkg = app.LoadPackage(pkgLocation, null);
pkgResults = pkg.Execute();
Console.WriteLine(pkgResults.ToString());
Console.ReadKey();
}
}
}
proceso de inicio dtexec.exe. DTEXEC es una utilidad de línea de comandos para ejecutar paquetes de SSIS. Vea sus opciones de línea de comando here.
Utilice el Agente de SQL. Puede configurar un trabajo de agente para ejecutar su paquete (ya sea hacerlo manualmente de antemano si el paquete es estático, o utilizar SMO programáticamente o usar procedimientos almacenados SQL justo antes de ejecutar el paquete), y luego iniciarlo mediante programación utilizando SMO o sp_start_job.
Utilice alguna otra utilidad para iniciar DTEXEC por usted.
Cree una aplicación personalizada que ejecutará el paquete (ya sea utilizando OM como se describe en el método n. ° 1, o utilizando DTEXEC como en el método n. ° 2). Exponlo como un servicio web o clase DCOM, llama a este servicio desde tu programa.
inventar su propio :)
Referencia: Running SSIS Package Programmatically
Im usando su solución para un Winform. Estoy obteniendo squigglies rojos en los siguientes: 'Aplicación de aplicación;', 'app = new Application();', y 'pkg = app.LoadPackage (pkgLocation, null)'; con las siguientes excepciones: 'error 'Aplicación' es una referencia ambigua entre 'System.Windows.Forms.Application' y 'Microsoft.SqlServer.Dts.Runtime.Application' \t' y 'Error El tipo ' System.Windows.Forms.Application 'no tiene constructores definidos' - ¿qué debo cambiar para Winform? –