Déployer un projet 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 déployer un projet SSIS.
Pour créer une application C#, vous pouvez utiliser Visual Studio, Visual Studio Code ou un autre outil de votre choix.
Prérequis
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.
Plateformes prises en charge
Vous pouvez utiliser les informations de ce guide de démarrage rapide pour déployer un projet SSIS sur les plateformes suivantes :
SQL Server sur Windows.
Azure SQL Database. Pour plus d’informations sur le déploiement et l’exécution de packages dans Azure, consultez Effectuer un « lift-and-shift » des charges de travail SQL Server Integration Services vers le cloud.
Vous ne pouvez pas utiliser les informations de ce guide de démarrage rapide pour déployer un package SSIS sur SQL Server sur Linux. Pour plus d’informations sur l’exécution de packages sur Linux, consultez Extraire, transformer et charger des données sur Linux avec SSIS.
Pour Azure SQL Database, obtenez les informations de connexion.
Pour déployer le projet 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.
Méthode d’authentification prise en charge
Consultez Méthodes d’authentification pour le déploiement.
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;
using System.Data.SqlClient;
using System.IO;
namespace deploy_ssis_project
{
class Program
{
static void Main(string[] args)
{
// Variables
string targetServerName = "localhost";
string targetFolderName = "Project1Folder";
string projectName = "Integration Services Project1";
string projectFilePath = @"C:\Projects\Integration Services Project1\Integration Services Project1\bin\Development\Integration Services Project1.ispac";
// 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"];
// Create the target folder
CatalogFolder folder = new CatalogFolder(catalog,
targetFolderName, "Folder description");
folder.Create();
Console.WriteLine("Deploying " + projectName + " project.");
byte[] projectFile = File.ReadAllBytes(projectFilePath);
folder.DeployProject(projectName, projectFile);
Console.WriteLine("Done.");
}
}
}
Exécuter le code
- Pour exécuter l'application, appuyez sur F5.
- Dans SSMS, vérifiez que le projet a été déployé.
Étapes suivantes
- Envisagez d’autres méthodes pour déployer un package.
- Exécutez un package déployé. Pour exécuter un package, vous pouvez choisir parmi plusieurs outils et langages. Pour plus d’informations, consultez les articles suivants :