Как создать ssis проект в visual studio 2017
В этом кратком руководстве демонстрируется подключение к базе данных каталога SSIS в Visual Studio Code и развертывание проекта SSIS в каталоге SSIS с помощью инструкций Transact-SQL.
Visual Studio Code — это редактор кода для Windows, macOS и Linux, который поддерживает расширения, в том числе расширение mssql для подключения к Microsoft SQL Server, Базе данных SQL Azure или Azure Synapse Analytics. Дополнительные сведения о Visual Studio Code см. на странице Visual Studio Code.
Предварительные требования
Поддерживаемые платформы
Сведения, приведенные в этом кратком руководстве, можно использовать для развертывания проекта SSIS на следующих платформах:
Сведения в этом кратком руководстве неприменимы для развертывания пакета SSIS в базе данных SQL Azure. Хранимая процедура catalog.deploy_project ожидает, что путь к файлу .ispac находится в локальной файловой системе. Дополнительные сведения о развертывании и запуске пакетов в Azure см. в разделе Перенос рабочих нагрузок SQL Server Integration Services в облако.
Сведения, приведенные в этом кратком руководстве, не могут быть использованы для развертывания пакета SSIS на SQL Server в Linux. Дополнительные сведения о запуске пакетов на Linux см. в разделе Извлечение, преобразование и загрузка данных в Linux с помощью служб SSIS.
Выбор языкового режима SQL в Visual Studio Code
Чтобы иметь возможность выполнять команды mssql и пользоваться технологией IntelliSense для T-SQL, выберите в Visual Studio Code языковой режим SQL.
Откройте редактор Visual Studio Code, а затем откройте новое окно.
В правом нижнем углу строки состояния щелкните Обычный текст.
В открывшемся меню Выберите языковой режим выберите или введите SQL, а затем нажмите клавишу ВВОД, чтобы установить языковой режим SQL.
Поддерживаемые методы проверки подлинности
Подключение к базе данных каталога SSIS
С помощью Visual Studio Code установите соединение с каталогом служб SSIS.
В Visual Studio Code нажмите клавиши CTRL+SHIFT+P (или F1), чтобы открыть палитру команд.
Введите sqlcon и нажмите клавишу ВВОД.
Нажмите клавишу ВВОД, чтобы выбрать команду Создать профиль подключения. На этом шаге создается профиль подключения для экземпляра SQL Server.
Следуя указаниям, настройте свойства подключения для нового профиля подключения. После указания каждого значения нажимайте клавишу ВВОД, чтобы продолжить.
Проверьте состояние подключения в строке состояния.
Выполнение кода T-SQL
Чтобы развернуть проект SSIS, выполните приведенный ниже код Transact-SQL.
В окне Редактор введите указанный ниже запрос в пустом окне запроса.
Обновите значения параметров в хранимой процедуре catalog.deploy_project так, чтобы они соответствовали вашей системе.
Чтобы выполнить код и развернуть проект, нажмите клавиши CTRL+SHIFT+E.
На этом занятии вы создадите простой пакет для извлечения, преобразования и загрузки, который будет извлекать данные из отдельного источника неструктурированных файлов, преобразовывать их с помощью двух преобразований типа "уточняющий запрос", а затем записывать преобразованные данные в копию таблицы фактов FactCurrencyRate, находящуюся в образце базы данных AdventureWorksDW2012. На этом занятии вы узнаете, как создавать пакеты, добавлять и настраивать подключения к источникам данных и назначениям, а также работать с новыми компонентами потока управления и потока данных.
Перед созданием пакета необходимо ознакомиться с форматированием в источнике данных и назначении. После этого можно определить преобразования, необходимые для сопоставления источника данных с назначением.
Предварительные требования
Для выполнения упражнений в этом учебнике требуются средства Microsoft SQL Server Data Tools, набор примеров пакетов и образец базы данных.
Чтобы скачать все пакеты занятий этого учебника, выполните указанные ниже действия.
Выберите файл Creating a Simple ETL Package.zip и нажмите кнопку Далее.
Когда файл скачается, распакуйте его содержимое в локальный каталог.
Чтобы установить и развернуть образец базы данных AdventureWorksDW2012, см. страницу Установка и настройка образца базы данных AdventureWorks — SQL.
Обзор исходных данных
Для этого учебника исходные данные представлены в виде набора курсов валют, содержащегося в неструктурированном файле SampleCurrencyData.txt. Данные источника в этом файле имеют четыре столбца: средний курс валюты, ключ валюты, ключ даты и курс на конец дня.
Вот пример исходных данных в файле SampleCurrencyData.txt:
При работе с исходными данными неструктурированных файлов важно понимать, как диспетчер подключений к неструктурированным файлам интерпретирует их. Если неструктурированный файл является документом в Юникоде, диспетчер соединений с неструктурированными файлами определяет все столбцы как [DT_WSTR] с шириной, по умолчанию равной 50. Если неструктурированный файл является документом в кодировке ANSI, столбцы определяются как [DT_STR] с шириной по умолчанию, равной 50. Возможно, потребуется изменить эти настройки, чтобы оптимизировать столбцы для конкретных данных. Необходимо узнать тип данных в назначении, а затем выбрать этот тип в диспетчере подключений к неструктурированным файлам.
Обзор данных назначения
Назначением исходных данных является копия таблицы фактов FactCurrencyRate в базе данных AdventureWorksDW. Таблица фактов FactCurrencyRate имеет четыре столбца и связи с двумя таблицами измерений, как показано в следующей таблице.
Имя столбца | Тип данных | Таблица уточняющих запросов | столбцом подстановки |
---|---|---|---|
AverageRate | FLOAT | None | None |
CurrencyKey | int (FK) | DimCurrency | CurrencyKey (PK) |
DateKey | int (FK) | DimDate | DateKey (PK) |
EndOfDayRate | FLOAT | None | None |
Сопоставление исходных данных с назначением
Анализ форматов данных источника и назначения показывает, что для значений CurrencyKey и DateKey требуются уточняющие запросы. Преобразования, которые выполняют эти уточняющие запросы, получают эти значения из таблиц измерений DimCurrency и DimDate.
In this lesson, you create a simple ETL package that extracts data from a single flat file source, transforms the data using two lookup transformations, and writes the transformed data to a copy of the FactCurrencyRate fact table in the AdventureWorksDW2012 sample database. As part of this lesson, you learn how to create new packages, add and configure data source and destination connections, and work with new control flow and data flow components.
Before creating a package, you need to understand the formatting used in both the source data and the destination. Then, you be ready to define the transformations necessary to map the source data to the destination.
Prerequisites
This tutorial relies on Microsoft SQL Server Data Tools, a set of example packages, and a sample database.
To install the SQL Server Data Tools, see Download SQL Server Data Tools.
To download all of the lesson packages for this tutorial:
Select the DOWNLOAD button.
Select the Creating a Simple ETL Package.zip file, then select Next.
After the file downloads, unzip its contents to a local directory.
To install and deploy the AdventureWorksDW2012 sample database, see Install and configure AdventureWorks sample database - SQL.
Look at the source data
For this tutorial, the source data is a set of historical currency data in a flat file named SampleCurrencyData.txt. The source data has the following four columns: the average rate of the currency, a currency key, a date key, and the end-of-day rate.
Here is an example of the source data in the SampleCurrencyData.txt file:
When working with flat file source data, it's important to understand how the Flat File connection manager interprets the flat file data. If the flat file source is Unicode, the Flat File connection manager defines all columns as [DT_WSTR] with a default column width of 50. If the flat file source is ANSI-encoded, the columns are defined as [DT_STR] with a default column width of 50. You probably have to change these defaults to make the string column types more applicable for your data. You need to look at the data type of the destination, and then choose that type within the Flat File connection manager.
Look at the destination data
The destination for the source data is a copy of the FactCurrencyRate fact table in AdventureWorksDW. The FactCurrencyRate fact table has four columns, and has relationships to two dimension tables, as shown in the following table.
Column Name | Data Type | Lookup Table | Lookup Column |
---|---|---|---|
AverageRate | float | None | None |
CurrencyKey | int (FK) | DimCurrency | CurrencyKey (PK) |
DateKey | int (FK) | DimDate | DateKey (PK) |
EndOfDayRate | float | None | None |
Map the source data to the destination
Our analysis of the source and destination data formats indicates that lookups are necessary for the CurrencyKey and DateKey values. The transformations that perform these lookups get those values by using the alternate keys from the DimCurrency and DimDate dimension tables.
Предварительные требования
Прежде чем начать, убедитесь, что у вас установлено средство 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). В описанных ниже процедурах вам потребуется полное имя сервера и имя для входа.
Поддерживаемые методы проверки подлинности
Создание проекта Visual Studio
Добавление ссылок
Откройте файл Program.cs.
Замените содержимое Program.cs приведенным ниже кодом. Добавьте соответствующие значения для сервера, базы данных, пользователя и пароля.
В следующем примере используется проверка подлинности Windows. Чтобы использовать проверку подлинности SQL Server, замените аргумент Integrated Security=SSPI; на User name>;Password=; . Если вы подключаетесь к серверу базы данных SQL Azure, вы не можете использовать проверку подлинности Windows.
Для реализации простенького пакета необходимо установить надстройку SSDT (Sql server data tools) для вашей Visual Studio.
Допустим, вам необходимо перенести данные с одного сервера на другой. Первыми мыслями о решении данной задачи, как правило, являются следующие варианты: выгрузить данные с одного сервера в excel и воспользоваться мастером импорта или воспользоваться линком между серверами, если он, конечно, есть.
Однако линка может и не быть, а задача по переносу данных может оказаться периодичной. Тогда вам каждый раз придется повторять выгрузку данных и их импорт. Это неудобно.
В таких случаях на помощь как раз приходит SSIS. В других случаях, кстати тоже.
Что же представляет из себя SSIS? Это набор контейнеров, соединяемых между собой. Программа состоит из потока управления (Control Flow), который может включать в себя поток данных (Data Flow). Вот так выглядит стартовое окно проекта в Visual Studio 2017.
Итак, нам необходимо перенести данные таблицы с одного сервера на другой. Для начала нам необходимо создать соединения к этим серверам. Ниже представлен процесс создания:
Из списка выбираем необходимый нам тип соединения. Мы рассмотрим создание соединение OLEDB.
После того, как мы добавили необходимые соединения наступило время для создания в нашем Control Flow задачи потока данных. Для того в SSIS toolbox необходимо выбрать контейнер Data Flow Task (Задача потока данных).
Далее необходимо перейти в контейнер, который мы только что создали и выбрать Источник данных (Source) и назначение данных(Destination).
Перейдем к настройке источника данных. Здесь нам необходимо выбрать соединение, где находится таблица, из которой мы хотим перенести данные. Далее выбираем таблицу. Стоит отметить, что также необходимые данные можно выбрать через Sql запрос (для этого необходимо выбрать Sql command при выборе data access mode).
После настройки источника необходимо настроить назначение данных. Для этого выбираем соединение и таблицу, в которую будем переливать данные. После чего переходим на вкладку Mappings, для того чтобы сопоставить столбцы. Очень важно, чтобы у вас совпадали типы данных, потому что иначе пакет не отработает корректно.
Читайте также: