Freigeben über


Bereitstellen eines SSIS-Projekts mit C#-Code in einer .NET-App

Gilt für:SQL ServerSSIS Integration Runtime in Azure Data Factory

In diesem Schnellstart wird dargestellt, wie C#-Code geschrieben wird, um eine Verbindung mit einem Datenbankserver herzustellen und ein SSIS-Paket bereitzustellen.

Um eine C#-App zu erstellen, können Sie Visual Studio, Visual Studio Code oder ein anderes Tool Ihrer Wahl verwenden.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Visual Studio oder Visual Studio Code installiert haben. Laden Sie die kostenlose Community Edition von Visual Studio oder Visual Studio Code (ebenfalls kostenlos) unter Visual Studio-Downloads herunter.

Ein Azure SQL-Datenbank-Server überwacht Port 1433. Wenn Sie versuchen, eine Verbindung mit einem Azure SQL-Datenbank-Server innerhalb einer Unternehmensfirewall herzustellen, muss dieser Port in der Unternehmensfirewall geöffnet sein, damit Sie eine Verbindung herstellen können.

Unterstützte Plattformen

Mithilfe der Informationen in diesem Schnellstart können Sie auf den folgenden Plattformen SSIS-Projekte bereitstellen:

Sie können die Informationen in dieser Schnellstartanleitung nicht verwenden, um ein SSIS-Paket auf SQL Server unter Linux bereitzustellen. Weitere Informationen zum Ausführen von Paketen finden Sie unter Extrahieren, Transformieren und Laden von Daten unter Linux mit SSIS.

Abrufen der Verbindungsinformationen für Azure SQL-Datenbank

Um das Paket in Azure SQL-Datenbank bereitzustellen, rufen Sie die Verbindungsinformationen ab, die für die Verbindungsherstellung mit der SSIS-Katalogdatenbank (SSISDB) benötigt werden. Sie benötigen den vollqualifizierten Servernamen und die Anmeldeinformationen für die folgenden Prozeduren.

  1. Melden Sie sich beim Azure-Portal an.
  2. Wählen Sie aus dem Menü auf der linken Seite SQL-Datenbanken aus, und klicken Sie auf der Seite SQL-Datenbanken auf die SSISDB-Datenbank.
  3. Überprüfen Sie auf der Übersichtsseite Ihrer Datenbank den vollqualifizierten Servernamen. Zeigen Sie auf den Servernamen, damit die Option Klicken Sie zum Kopieren angezeigt wird.
  4. Wenn Sie die Anmeldeinformationen für Ihren Azure SQL-Datenbank-Server vergessen, navigieren Sie zur Seite „SQL Datenbank-Server“, damit der Serveradministratorname angezeigt wird. Sie können das Kennwort falls erforderlich zurücksetzen.
  5. Wählen Sie "Datenbankverbindungszeichenfolgen anzeigen" aus.
  6. Überprüfen Sie die vollständige ADO.NET-Verbindungszeichenfolge. Optional kann Ihr Code mithilfe von SqlConnectionStringBuilder die Verbindungszeichenfolge mit den von Ihnen angegebenen individuellen Parameterwerten neu erstellen.

Unterstützte Authentifizierungsmethode

Weitere Informationen finden Sie unter Authentifizierungsmethoden für die Bereitstellung.

Erstellen eines neuen Visual Studio-Projekts

  1. Klicken Sie in Visual Studio auf Datei > Neu > Projekt.
  2. Erweitern Sie Visual C# im Dialogfeld Neues Projekt.
  3. Klicken Sie auf Konsolen-App, und geben Sie für den Projektnamen deploy_ssis_project an.
  4. Wählen Sie "OK" aus, um das neue Projekt in Visual Studio zu erstellen und zu öffnen.

Hinzufügen von Verweisen

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Ordner Verweise, und wählen Sie Verweis hinzufügen aus. Das Dialogfeld Verweis-Manager wird geöffnet.
  2. Erweitern Sie Assemblys im Verweis-Manager, und klicken Sie auf Erweiterungen.
  3. Wählen Sie die folgenden beiden Verweise aus, die hinzugefügt werden sollen:
    • Microsoft.SqlServer.Management.Sdk.Sfc
    • Microsoft.SqlServer.Smo
  4. Wählen Sie die Schaltfläche " Durchsuchen " aus, um einen Verweis auf Microsoft.SqlServer.Management.IntegrationServices hinzuzufügen. (Diese Assembly ist nur im globalen Assemblycache (Global Assembly Cache, GAC) installiert.) Das Dialogfeld Zu referenzierende Dateien auswählen wird geöffnet.
  5. Navigieren Sie im Dialogfeld Zu referenzierende Dateien auswählen zum GAC-Ordner, der die Assembly enthält. In der Regel handelt es sich dabei um den Ordner C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91.
  6. Wählen Sie die Assembly (d. h. die .dll Datei) im Ordner aus, und wählen Sie "Hinzufügen" aus.
  7. Wählen Sie 'OK ' aus, um das Dialogfeld "Verweis-Manager " zu schließen und die drei Verweise hinzuzufügen. Überprüfen Sie die Liste Verweise im Projektmappen-Explorer, um sicherzustellen, dass die Verweise vorhanden sind.
  8. Fügen Sie das Microsoft.Data.SqlClient NuGet-Paket hinzu. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, wählen Sie "NuGet-Pakete verwalten", suchen Sie Microsoft.Data.SqlClient und installieren Sie es.

Hinzufügen von C#-Code

  1. Öffnen Sie Program.cs.

  2. Ersetzen Sie die Inhalte von Program.cs durch den folgenden Code. Fügen Sie die entsprechenden Werte für Ihren Server, die Datenbank, den Benutzer und das Kennwort hinzu.

Hinweis

In diesem Beispiel wird die Windows-Authentifizierung verwendet. Ersetzen Sie das Argument Integrated Security=SSPI; durch User ID=<user name>;Password=<password>;, um die SQL Server-Authentifizierung zu verwenden. Wenn Sie eine Verbindung mit einem Azure SQL-Datenbank-Server herstellen, können Sie keine Windows-Authentifizierung verwenden.

using Microsoft.SqlServer.Management.IntegrationServices;
using System;
using Microsoft.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.");
        }
    }
}

Ausführen des Codes

  1. Drücken Sie F5, um die Anwendung auszuführen.
  2. In SSMS stellen Sie sicher, dass das Projekt bereitgestellt wurde.