Развертывание проекта служб SSIS с кодом C# в приложении .NET
Область применения: среда выполнения интеграции SSIS SQL Server
в Фабрика данных 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 изнутри корпоративного брандмауэра, для успешного подключения в этом брандмауэре должен быть открыт данный порт.
Поддерживаемые платформы
Сведения, приведенные в этом кратком руководстве, можно использовать для развертывания проекта SSIS на следующих платформах:
SQL Server в Windows.
База данных SQL Azure. Дополнительные сведения о развертывании и запуске пакетов в Azure см. в разделе Перенос рабочих нагрузок SQL Server Integration Services в облако.
Сведения, приведенные в этом кратком руководстве, не могут быть использованы для развертывания пакета SSIS на SQL Server в Linux. Дополнительные сведения о запуске пакетов на Linux см. в разделе Извлечение, преобразование и загрузка данных в Linux с помощью служб SSIS.
Получение сведений о подключении для базы данных SQL Azure
Для развертывания проекта в базе данных SQL Azure вам нужны сведения, необходимые для подключения к базе данных каталога служб SSIS (SSISDB). В описанных ниже процедурах вам потребуется полное имя сервера и имя для входа.
- Войдите на портал Azure.
- Выберите Базы данных SQL в меню слева, а затем на странице Базы данных SQL — базу данных SSISDB.
- На странице Обзор для базы данных просмотрите полное имя сервера. Чтобы увидеть параметр Щелкните, чтобы скопировать, наведите указатель мыши на имя сервера.
- Если вы забыли данные для входа на сервер Базы данных SQL Azure, перейдите на соответствующую страницу, чтобы просмотреть имя администратора сервера. При необходимости вы можете сбросить пароль.
- Щелкните Показать строки подключения к базам данных.
- Просмотрите полную строку подключения ADO.NET. В примере кода также можно использовать
SqlConnectionStringBuilder
, чтобы воссоздать эту строку подключения с указанными вами параметрами.
Поддерживаемые методы проверки подлинности
См. методы проверки подлинности для развертывания.
Создание проекта Visual Studio
- В Visual Studio выберите Файл, Создать, Проект.
- В диалоговом окне Создание проекта разверните узел Visual C#.
- Выберите Консольное приложение и введите run_ssis_project в качестве имени проекта.
- Нажмите кнопку ОК, чтобы создать и открыть проект в Visual Studio.
Добавление ссылок
- В обозревателе решений щелкните правой кнопкой мыши папку Ссылки и выберите Добавить ссылку. Открывается диалоговое окно Диспетчер ссылок.
- В окне Диспетчер ссылок разверните узел Сборки и выберите Расширения.
- Выберите следующие две ссылки, чтобы добавить:
- Microsoft.SqlServer.Management.Sdk.Sfc
- Microsoft.SqlServer.Smo
- Нажмите кнопку Обзор, чтобы добавить ссылку на Microsoft.SqlServer.Management.IntegrationServices. (Эта сборка устанавливается только в глобальный кэш сборок.) Открывается диалоговое окно Выберите файлы, на которые нужно установить ссылки.
- В диалоговом окне Выберите файлы, на которые нужно установить ссылки перейдите в папку глобального кэша сборок, содержащую нужную сборку. Обычно это папка
C:\Windows\assembly\GAC_MSIL\Microsoft.SqlServer.Management.IntegrationServices\14.0.0.0__89845dcd8080cc91
. - Выберите сборку (DLL-файл) в папке и нажмите кнопку Добавить.
- Нажмите кнопку ОК, чтобы закрыть диалоговое окно Диспетчер ссылок и добавить три ссылки. Чтобы убедиться, что ссылки на месте, проверьте список Ссылки в обозревателе решений.
Добавление кода C#
Откройте Program.cs.
Замените содержимое Program.cs приведенным ниже кодом. Добавьте соответствующие значения для сервера, базы данных, пользователя и пароля.
Примечание.
В следующем примере используется проверка подлинности Windows. Чтобы использовать проверку подлинности SQL Server, замените аргумент Integrated Security=SSPI;
на User ID=<user name>;Password=<password>;
. Если вы подключаетесь к серверу базы данных SQL Azure, вы не можете использовать проверку подлинности 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.");
}
}
}
Выполнение кода
- Чтобы запустить приложение, нажмите клавишу F5.
- В среде SSMS убедитесь, что проект был развернут.
Следующие шаги
- Рассмотрите другие варианты развертывания пакета.
- Выполните развернутый пакет. Для выполнения пакета можно использовать различные средства и языки. Дополнительные сведения см. в следующих статьях:
- Выполнение пакета служб SSIS с помощью SSMS
- Выполнение пакета служб SSIS с помощью Transact-SQL (SSMS)
- Выполнение пакета служб SSIS с помощью Transact-SQL (Visual Studio Code)
- Выполнение пакета служб SSIS из командной строки
- Выполнение пакета служб SSIS с помощью PowerShell
- Выполнение пакета служб SSIS с помощью C#