Partilhar via


Execute um pacote SSIS com código C# numa aplicação .NET

Aplica-se a:SQL Server SSIS Integration Runtime em Azure Data Factory

Este quickstart demonstra como escrever código C# para se ligar a um servidor de base de dados e executar um pacote SSIS.

Pode usar o Visual Studio, Visual Studio Code ou outra ferramenta à sua escolha para criar uma aplicação em C#.

Pré-requisitos

Antes de começares, certifica-te de que tens instalado o Visual Studio ou o Visual Studio Code. Descarregue a edição gratuita Community do Visual Studio, ou o Visual Studio Code gratuito, através do Visual Studio Downloads.

Um servidor de base de dados Azure SQL Database escuta na porta 1433. Se estiver a tentar ligar-se a um servidor Azure SQL Database a partir de um firewall corporativo, esta porta deve estar aberta no firewall corporativo para que se ligue com sucesso.

Para Azure SQL Database, obtenha a informação de ligação

Para executar o pacote na Azure SQL Database, obtenha a informação de ligação necessária para se ligar à base de dados do Catálogo SSIS (SSISDB). Necessita do nome completo do servidor e das informações de login nos procedimentos que se seguem.

  1. Inicie sessão no portal Azure.
  2. Selecione Bases de Dados SQL no menu à esquerda e depois selecione a base de dados SSISDB na página de bases de dados SQL .
  3. Na página de Visão Geral da sua base de dados, consulte o nome do servidor totalmente qualificado. Para ver a opção Clique para copiar , passe o rato sobre o nome do servidor.
  4. Se esquecer as informações de login do servidor Azure SQL Database, aceda à página do servidor SQL Database para ver o nome do administrador do servidor. Podes repor a palavra-passe se for necessário.
  5. Selecionar Mostrar strings de ligação à base de dados.
  6. Reveja a cadeia de ligação completa de ADO.NET. Opcionalmente, o seu código pode usar a SqlConnectionStringBuilder para recriar esta cadeia de ligação com os valores individuais dos parâmetros que fornece.

Criar um novo projeto Visual Studio

  1. No Visual Studio, escolhe Ficheiro, Novo, Projeto.
  2. No diálogo Novo Projeto, expanda Visual C#.
  3. Selecione Console App e introduza run_ssis_project como o nome do projeto.
  4. Selecione OK para criar e abrir o novo projeto no Visual Studio.

Adicionar referências

  1. No Explorador de Soluções, clique com o botão direito na pasta Referências e selecione Adicionar Referência. A caixa de diálogo Reference Manager é aberta.
  2. Na caixa de diálogo Gestor de Referências , expanda Assemblies e selecione Extensions.
  3. Selecione as seguintes duas referências para adicionar:
    • Microsoft.SqlServer.Management.Sdk.Sfc
    • Microsoft.SqlServer.Smo
  4. Selecione o botão Explorar para adicionar uma referência a Microsoft.SqlServer.Management.IntegrationServices. (Este conjunto é instalado apenas na cache global de montagem (GAC).) A caixa de diálogo Selecionar os ficheiros a referenciar abre-se.
  5. Na caixa de diálogo Selecionar os ficheiros a referenciar , navegue até à pasta GAC que contém a montagem. Normalmente, esta pasta é C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91.
  6. Selecione o assembly (ou seja, o ficheiro .dll) na pasta e selecione Adicionar.
  7. Selecione OK para fechar a caixa de diálogo do Gestor de Referências e adicione as três referências. Para garantir que as referências estão lá, verifique a lista de Referências no Explorador de Soluções.
  8. Adicione o pacote NuGet Microsoft.Data.SqlClient . Clique com o botão direito no projeto no Explorador de Soluções, selecione Gerir Pacotes NuGet, procure por Microsoft.Data.SqlClient, e instale-o.

Adicionar o código C#

  1. Abra Program.cs.

  2. Substitua o conteúdo do Program.cs pelo código a seguir. Adicione os valores apropriados para o seu servidor, base de dados, utilizador e palavra-passe.

Observação

O exemplo seguinte utiliza a Autenticação do Windows. Para usar autenticação SQL Server, substitua o Integrated Security=SSPI; argumento por User ID=<user name>;Password=<password>;. Se estiveres a ligar-te a um servidor Azure SQL Database, não podes usar autenticação Windows.

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

        }
    }
}

Executar o código

  1. Para executar a aplicação, pressione F5.
  2. Verifica se o pacote correu como esperado e depois fecha a janela da aplicação.