Distribuire un progetto SSIS con codice C# in un'app .NET
Si applica a: SQL Server SSIS Integration Runtime in Azure Data Factory
Questa guida introduttiva illustra come scrivere codice C# per connettersi a un server di database e distribuire un progetto SSIS.
Per creare un'app C#, è possibile usare Visual Studio, Visual Studio Code o un altro strumento di propria scelta.
Prerequisiti
Prima di iniziare, verificare che Visual Studio o Visual Studio Code sia installato. Scaricare l'edizione Community gratuita di Visual Studio o lo strumento gratuito Visual Studio Code dalla pagina dei download di Visual Studio.
Un server di Database SQL di Azure è in ascolto sulla porta 1433. Se si sta provando a connettersi a un server di database SQL di Azure dall'interno di un firewall aziendale, per stabilire correttamente la connessione questa porta deve essere aperta nel firewall aziendale.
Piattaforme supportate
È possibile usare le informazioni di questa guida introduttiva per distribuire un progetto SSIS nelle piattaforme seguenti:
SQL Server in Windows.
Database SQL di Azure. Per altre informazioni sulla distribuzione e l'esecuzione di pacchetti in Azure, vedere Spostare i carichi di lavoro di SQL Server Integration Services nel cloud.
Non è possibile usare le informazioni di questa guida introduttiva per distribuire un pacchetto SSIS a SQL Server in Linux. Per altre informazioni sull'esecuzione di pacchetti in Linux, vedere Estrarre, trasformare e caricare i dati in Linux con SSIS.
Ottenere le informazioni di connessione per il database SQL di Azure
Per distribuire il progetto nel database SQL di Azure, ottenere le informazioni di connessione necessarie per connettersi al database del catalogo SSIS (SSISDB). Nelle procedure che seguono sono necessari il nome completo del server e le informazioni di accesso.
- Accedere al portale di Azure.
- Selezionare Database SQL nel menu a sinistra e quindi il database SSISDB nella pagina Database SQL.
- Nella pagina Panoramica del database controllare il nome completo del server. Passare il mouse sul nome del server per visualizzare l'opzione Fare clic per copiare.
- Se si dimenticano le informazioni di accesso del server di database SQL di Azure, passare alla pagina del server di database SQL per visualizzare il nome amministratore del server. Se necessario, è possibile reimpostare la password.
- Fare clic su Mostra stringhe di connessione del database.
- Esaminare l'intera stringa di connessione ADO.NET. Facoltativamente il codice può usare
SqlConnectionStringBuilder
per ricreare questa stringa di connessione con i valori dei singoli parametri specificati.
Metodo di autenticazione supportato
Vedere i metodi di autenticazione per la distribuzione.
Creare un nuovo progetto Visual Studio
- In Visual Studio scegliere File, Nuovo, Progetto.
- Nella finestra di dialogo Nuovo progetto espandere Visual C#.
- Selezionare Applicazione console e immettere deploy_ssis_project come nome del progetto.
- Fare clic su OK per creare e aprire il nuovo progetto in Visual Studio.
Aggiungere riferimenti
- In Esplora soluzioni fare clic con il pulsante destro del mouse sulla cartella Riferimenti e selezionare Aggiungi riferimento. Viene visualizzata la finestra di dialogo Gestione riferimenti.
- Nella finestra di dialogo Gestione riferimenti espandere Assembly e selezionare Estensioni.
- Seleziona i seguenti due riferimenti da aggiungere:
- Microsoft.SqlServer.Management.Sdk.Sfc
- Microsoft.SqlServer.Smo
- Fare clic sul pulsante Sfoglia per aggiungere un riferimento a Microsoft.SqlServer.Management.IntegrationServices. Questo assembly viene installato nella Global Assembly Cache (GAC). Viene visualizzata la finestra di dialogo Selezionare i file a cui fare riferimento.
- Nella finestra di dialogo Selezionare i file a cui fare riferimento passare alla cartella che contiene l'assembly nella GAC. In genere questa cartella è
C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91
. - Selezionare l'assembly, ovvero il file DLL, nella cartella e fare clic su Aggiungi.
- Fare clic su OK per chiudere la finestra di dialogo Gestione riferimenti e aggiungere i tre riferimenti. Per verificare se i riferimenti sono presenti, controllare l'elenco Riferimenti in Esplora soluzioni.
Aggiungere il codice C#
Aprire Program.cs.
Sostituire il contenuto di Program.cs con il codice seguente. Aggiungere i valori appropriati per server, database, utente e password.
Nota
L'esempio seguente usa l'autenticazione di Windows. Per usare l'autenticazione di SQL Server, sostituire l'argomento Integrated Security=SSPI;
con User ID=<user name>;Password=<password>;
. Se ci si connette a un server di database SQL di Azure, non è possibile usare l'autenticazione di 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.");
}
}
}
Eseguire il codice
- Premere F5 per eseguire l'applicazione.
- In SQL Server Management Studio verificare che il progetto sia stato distribuito.
Passaggi successivi
- Prendere in considerazione altri modi per distribuire un pacchetto.
- Eseguire un pacchetto distribuito. Per eseguire un pacchetto, è possibile scegliere tra diversi strumenti e linguaggi. Per altre informazioni, vedi gli articoli seguenti: