Exécuter un package SSIS avec du code C# dans une application .NET
S’applique à : SQL Server SSIS Integration Runtime dans Azure Data Factory
Ce guide de démarrage rapide montre comment écrire du code C# pour se connecter à un serveur de base de données et exécuter un package SSIS.
Pour créer une application C#, vous pouvez utiliser Visual Studio, Visual Studio Code ou un autre outil de votre choix.
Conditions préalables
Avant de commencer, vérifiez que Visual Studio ou Visual Studio Code est installé sur votre ordinateur. Téléchargez l’édition Community gratuite de Visual Studio, ou le logiciel Visual Studio Code gratuit, à partir de la page de Téléchargements Visual Studio.
Un serveur Azure SQL Database écoute sur le port 1433. Si vous essayez de vous connecter à un serveur Azure SQL Database en étant derrière un pare-feu d’entreprise, ce port doit être ouvert dans le pare-feu d’entreprise pour que vous puissiez vous connecter.
Pour Azure SQL Database, obtenez les informations de connexion.
Pour exécuter le package sur Azure SQL Database, obtenez les informations de connexion dont vous avez besoin pour vous connecter à la base de données du catalogue SSIS (SSISDB). Vous avez besoin des informations de connexion et du nom de serveur complet dans les procédures qui suivent.
- Connectez-vous au portail Azure.
- Sélectionnez Bases de données SQL dans le menu de gauche, puis sélectionnez la base de données SSISDB dans la page Bases de données SQL.
- Dans la page Vue d’ensemble de votre base de données, notez le nom complet du serveur. Pour voir l’option Cliquer pour copier, pointez sur le nom du serveur.
- Si vous avez oublié vos informations de connexion au serveur Azure SQL Database, accédez à la page du serveur SQL Database pour voir le nom de l’administrateur du serveur. Vous pouvez réinitialiser le mot de passe si nécessaire.
- Cliquez sur Afficher les chaînes de connexion de la base de données.
- Examinez la chaîne de connexion ADO.NET complète. Votre code peut aussi utiliser un
SqlConnectionStringBuilder
pour recréer cette chaîne de connexion avec chaque valeur de paramètre que vous fournissez.
Créer un projet Visual Studio
- Dans Visual Studio, choisissez Fichier, Nouveau, Projet.
- Dans la boîte de dialogue Nouveau projet, développez Visual C#.
- Sélectionnez Application console et entrez run_ssis_project comme nom de projet.
- Cliquez sur OK pour créer et ouvrir le nouveau projet dans Visual Studio.
Ajouter des références
- Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le dossier Références, puis sélectionnez Ajouter une référence. La boîte de dialogue Gestionnaire de références s’ouvre.
- Dans la boîte de dialogue Gestionnaire de références, développez Assemblys et sélectionnez Extensions.
- Sélectionnez les deux références suivantes à ajouter :
- Microsoft.SqlServer.Management.Sdk.Sfc
- Microsoft.SqlServer.Smo
- Cliquez sur le bouton Parcourir pour ajouter une référence à Microsoft.SqlServer.Management.IntegrationServices. (Cet assembly est installé uniquement dans le Global Assembly Cache (GAC).) La boîte de dialogue Sélectionner les fichiers à référencer s’ouvre.
- Dans la boîte de dialogue Sélectionner les fichiers à référencer, accédez au dossier GAC qui contient l’assembly. En général, il s’agit du dossier
C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91
. - Sélectionnez l’assembly (autrement dit, le fichier .dll) dans le dossier et cliquez sur Ajouter.
- Cliquez sur OK pour fermer la boîte de dialogue Gestionnaire de références et ajouter les trois références. Pour vérifier que les références y figurent, consultez la liste Références dans l’Explorateur de solutions.
Ajouter le code C#
Ouvrez Program.cs.
Remplacez le contenu de Program.cs par le code suivant. Ajoutez les valeurs appropriées pour votre serveur, base de données, utilisateur et mot de passe.
Notes
L’exemple suivant utilise l’authentification Windows. Pour utiliser l’authentification SQL Server, remplacez l’argument Integrated Security=SSPI;
par User ID=<user name>;Password=<password>;
. Si vous vous connectez à un serveur Azure SQL Database, vous ne pouvez pas utiliser l’authentification Windows.
using Microsoft.SqlServer.Management.IntegrationServices;
using System.Data.SqlClient;
namespace run_ssis_package
{
class Program
{
static void Main(string[] args)
{
// Variables
string targetServerName = "localhost";
string folderName = "Project1Folder";
string projectName = "Integration Services Project1";
string packageName = "Package.dtsx";
// Create a connection to the server
string sqlConnectionString = "Data Source=" + targetServerName +
";Initial Catalog=master;Integrated Security=SSPI;";
SqlConnection sqlConnection = new SqlConnection(sqlConnectionString);
// Create the Integration Services object
IntegrationServices integrationServices = new IntegrationServices(sqlConnection);
// Get the Integration Services catalog
Catalog catalog = integrationServices.Catalogs["SSISDB"];
// Get the folder
CatalogFolder folder = catalog.Folders[folderName];
// Get the project
ProjectInfo project = folder.Projects[projectName];
// Get the package
PackageInfo package = project.Packages[packageName];
// Run the package
package.Execute(false, null);
}
}
}
Exécuter le code
- Pour exécuter l'application, appuyez sur F5.
- Vérifiez que le package s’est exécuté comme prévu, puis fermez la fenêtre d’application.