Выполнение пакета служб SSIS с кодом C# в приложении .NET

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

В этом кратком руководстве показано, как написать код C# для подключения к серверу базы данных и для выполнения пакета SSIS.

Чтобы создать приложение C#, вы можете использовать Visual Studio, Visual Studio Code или другое средство.

Предварительные требования

Прежде чем начать, убедитесь, что у вас установлено средство Visual Studio или Visual Studio Code. Скачайте бесплатный выпуск Community средства Visual Studio или бесплатное средство Visual Studio Code на странице скачивания Visual Studio.

Сервер Базы данных SQL Azure прослушивает порт 1433. Если вы пытаетесь подключиться к серверу базы данных SQL Azure изнутри корпоративного брандмауэра, для успешного подключения в этом брандмауэре должен быть открыт данный порт.

Получение сведений о подключении для базы данных SQL Azure

Для запуска пакета в базе данных SQL Azure вам нужны сведения, необходимые для подключения к базе данных каталога служб SSIS (SSISDB). В описанных ниже процедурах вам потребуется полное имя сервера и имя для входа.

  1. Войдите на портал Azure.
  2. Выберите Базы данных SQL в меню слева, а затем на странице Базы данных SQL — базу данных SSISDB.
  3. На странице Обзор для базы данных просмотрите полное имя сервера. Чтобы увидеть параметр Щелкните, чтобы скопировать, наведите указатель мыши на имя сервера.
  4. Если вы забыли данные для входа на сервер Базы данных SQL Azure, перейдите на соответствующую страницу, чтобы просмотреть имя администратора сервера. При необходимости вы можете сбросить пароль.
  5. Щелкните Показать строки подключения к базам данных.
  6. Просмотрите полную строку подключения ADO.NET. В примере кода также можно использовать SqlConnectionStringBuilder, чтобы воссоздать эту строку подключения с указанными вами параметрами.

Создание проекта Visual Studio

  1. В Visual Studio выберите Файл, Создать, Проект.
  2. В диалоговом окне Создание проекта разверните узел Visual C#.
  3. Выберите Консольное приложение и введите run_ssis_project в качестве имени проекта.
  4. Нажмите кнопку ОК, чтобы создать и открыть проект в Visual Studio.

Добавление ссылок

  1. В обозревателе решений щелкните правой кнопкой мыши папку Ссылки и выберите Добавить ссылку. Открывается диалоговое окно Диспетчер ссылок.
  2. В окне Диспетчер ссылок разверните узел Сборки и выберите Расширения.
  3. Выберите следующие две ссылки для добавления:
    • Microsoft.SqlServer.Management.Sdk.Sfc
    • Microsoft.SqlServer.Smo
  4. Нажмите кнопку Обзор, чтобы добавить ссылку на Microsoft.SqlServer.Management.IntegrationServices. (Эта сборка устанавливается только в глобальный кэш сборок.) Открывается диалоговое окно Выберите файлы, на которые нужно установить ссылки.
  5. В диалоговом окне Выберите файлы, на которые нужно установить ссылки перейдите в папку глобального кэша сборок, содержащую нужную сборку. Обычно это папка C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91.
  6. Выберите сборку (DLL-файл) в папке и нажмите кнопку Добавить.
  7. Нажмите кнопку ОК, чтобы закрыть диалоговое окно Диспетчер ссылок и добавить три ссылки. Чтобы убедиться, что ссылки на месте, проверьте список Ссылки в обозревателе решений.

Добавление кода C#

  1. Откройте файл Program.cs.

  2. Замените содержимое Program.cs приведенным ниже кодом. Добавьте соответствующие значения для сервера, базы данных, пользователя и пароля.

Примечание

В следующем примере используется проверка подлинности Windows. Чтобы использовать проверку подлинности SQL Server, замените аргумент Integrated Security=SSPI; на User ID=<user name>;Password=<password>;. Если вы подключаетесь к серверу базы данных SQL Azure, вы не можете использовать проверку подлинности 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);

        }
    }
}

Выполнение кода

  1. Чтобы запустить приложение, нажмите клавишу F5.
  2. Убедитесь, что пакет выполняется правильно, а затем закройте окно приложения.

Дальнейшие действия