Eseguire un pacchetto 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 ed eseguire un pacchetto 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.
Ottenere le informazioni di connessione per il database SQL di Azure
Per eseguire il pacchetto 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.
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 run_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.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);
}
}
}
Eseguire il codice
- Premere F5 per eseguire l'applicazione.
- Verificare che il pacchetto venga eseguito come previsto e quindi chiudere la finestra dell'applicazione.
Passaggi successivi
- Prendere in considerazione altri modi per eseguire un pacchetto.