Les options qui sont disponibles pour exécuter un package SSIS sont -
- package Exécuter en utilisant SSIS programme Object Model. Ceci est discuté en détail dans la documentation en ligne here.
Exemple:
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();
}
}
}
Démarrer processus dtexec.exe. DTEXEC est un utilitaire de ligne de commande pour l'exécution de packages SSIS. Voir ses options de ligne de commande here.
Utilisez l'agent SQL. Vous pouvez configurer un travail Agent pour exécuter votre package (soit manuellement à l'avance si le package est statique, soit en utilisant SMO ou en utilisant des procédures stockées SQL juste avant d'exécuter le package), puis le démarrer par programme SMO ou sp_start_job. Utilisez un autre utilitaire pour lancer DTEXEC à votre place.
Créez une application personnalisée qui exécutera le package (soit en utilisant OM comme décrit dans la méthode n ° 1, soit en utilisant DTEXEC comme dans la méthode n ° 2). Exposez-le en tant que service Web ou classe DCOM, appelez ce service depuis votre programme.
Inventez votre propre :)
Référence: Running SSIS Package Programmatically
Im en utilisant votre solution pour un Winform. Je reçois des squigglies rouges sous les termes suivants: 'Application app;' ',' app = new Application(); ', et' pkg = app.LoadPackage (pkgLocation, null) '; avec les exceptions suivantes: 'Erreur 'Application' est une référence ambiguë entre 'System.Windows.Forms.Application' et 'Microsoft.SqlServer.Dts.Runtime.Application' \t' et 'Erreur Le type ' System.Windows.Forms.Application 'n'a aucun constructeur défini' - que dois-je changer pour Winform? –