Копирование данных из DB2 с помощью Фабрики данных Azure или Synapse Analytics
ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics
Совет
Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !
В этой статье описывается, как с помощью действия копирования в конвейерах Фабрики данных Azure и Synapse Analytics копируются данные из базы данных DB2. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.
Поддерживаемые возможности
Соединитель DB2 поддерживается для следующих возможностей:
Поддерживаемые возможности | IR |
---|---|
Действие копирования (источник/-) | (1) (2) |
Действие поиска | (1) (2) |
① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия копирования, приведен в таблице Поддерживаемые хранилища данных и форматы.
В частности, этот соединитель DB2 поддерживает приведенные ниже платформы и версии IBM DB2 с архитектурой распределенной реляционной базы данных (DRDA) SQL Access Manager (SQLAM) версии 9, 10 и 11. Он использует протокол DDM/DRDA.
- IBM DB2 для z/OS версии 12.1
- IBM DB2 для z/OS версии 11.1
- IBM DB2 для i версии 7.3
- IBM DB2 для i версии 7.2
- IBM DB2 для i версии 7.1
- IBM DB2 для LUW версии 11
- IBM DB2 для LUW версии 10.5
- IBM DB2 для LUW версии 10.1
Необходимые компоненты
Если хранилище данных размещено в локальной сети, виртуальной сети Azure или виртуальном частном облаке Amazon, для подключения к нему нужно настроить локальную среду выполнения интеграции.
Если же хранилище данных представляет собой управляемую облачную службу данных, можно использовать Azure Integration Runtime. Если доступ предоставляется только по IP-адресам, утвержденным в правилах брандмауэра, вы можете добавить IP-адреса Azure Integration Runtime в список разрешений.
Вы также можете использовать функцию среды выполнения интеграции в управляемой виртуальной сети в Фабрике данных Azure для доступа к локальной сети без установки и настройки локальной среды выполнения интеграции.
Дополнительные сведения о вариантах и механизмах обеспечения сетевой безопасности, поддерживаемых Фабрикой данных, см. в статье Стратегии получения доступа к данным.
Среда выполнения интеграции предоставляет встроенный драйвер DB2, поэтому при копировании данных из DB2 вам не потребуется устанавливать драйвер вручную.
Начало работы
Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:
- средство копирования данных;
- Портал Azure
- Пакет SDK для .NET
- Пакет SDK для Python
- Azure PowerShell
- The REST API
- шаблон Azure Resource Manager.
Создание связанной службы для DB2 с помощью пользовательского интерфейса
Выполните следующие действия, чтобы создать связанную службу для DB2 в пользовательском интерфейсе портала Azure.
Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":
Найдите DB2 и выберите соединитель DB2.
Настройте сведения о службе, проверьте подключение и создайте связанную службу.
Сведения о конфигурации соединителя
Следующие разделы содержат сведения о свойствах JSON, которые используются для определения сущностей фабрики данных, относящихся к соединителю DB2.
Свойства связанной службы
Для связанной службы DB2 поддерживаются следующие свойства:
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Для свойства типа необходимо задать значение Db2 | Да |
connectionString | Укажите сведения, необходимые для подключения к экземпляру DB2. Вы можете также поместить пароль в Azure Key Vault и извлечь конфигурацию password из строки подключения. Ознакомьтесь с приведенными ниже примерами и подробными сведениями в статье Хранение учетных данных в Azure Key Vault. |
Да |
connectVia | Среда выполнения интеграции, используемая для подключения к хранилищу данных. Дополнительные сведения см. в разделе Предварительные условия. Если не указано другое, по умолчанию используется интегрированная среда выполнения Azure. | No |
Типичный набор свойств для строки подключения.
Свойство | Описание: | Обязательное поле |
---|---|---|
server | Имя сервера DB2. Вы можете указать номер порта следом за именем сервера, разделив их двоеточием, например server:port .Соединитель DB2 использует протокол DDM/DRDA и порт 50 000 по умолчанию, если он не настроен. Для конкретной базы данных DB2 используемый порт может отличаться в зависимости от версии и настроенных параметров. Например, для DB2 LUW по умолчанию используется порт 50 000, а для AS400 — 446 (или 448, если включен TLS). Ознакомьтесь со следующими документами DB2 о том, как обычно настроен порт: DB2 z/OS, DB2 iSeries и DB2 LUW. |
Да |
database | Имя базы данных DB2. | Да |
authenticationType | Тип проверки подлинности, используемый для подключения к базе данных DB2. Допустимое значение: Базовый. |
Да |
username | Укажите имя пользователя для подключения к базе данных DB2. | Да |
password | Введите пароль для учетной записи пользователя, указанной для выбранного имени пользователя. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. | Да |
packageCollection | Укажите, в каком расположении автоматически создаются необходимые пакеты при запросе к базе данных. Если этот параметр не задан, служба использует {username} в качестве значения по умолчанию. | No |
certificateCommonName | При использовании протоколов SSL или TLS необходимо ввести значение для параметра "Общее имя сертификата". | No |
Совет
Если вы получите сообщение об ошибке The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805
, это означает, что необходимый пакет для пользователя не создан. По умолчанию служба попытается создать пакет в коллекции с тем же именем, что у пользователя, которое использовалось при подключении к DB2. Укажите свойство коллекции пакетов, чтобы определить, где служба будет создавать необходимые пакеты при запросе к базе данных. Если не удается определить имя коллекции пакетов, попробуйте задать packageCollection=NULLID
.
Пример:
{
"name": "Db2LinkedService",
"properties": {
"type": "Db2",
"typeProperties": {
"connectionString": "server=<server:port>;database=<database>;authenticationType=Basic;username=<username>;password=<password>;packageCollection=<packagecollection>;certificateCommonName=<certname>;"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Пример: хранение пароля в Azure Key Vault
{
"name": "Db2LinkedService",
"properties": {
"type": "Db2",
"typeProperties": {
"connectionString": "server=<server:port>;database=<database>;authenticationType=Basic;username=<username>;packageCollection=<packagecollection>;certificateCommonName=<certname>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Если вы раньше использовали связанную службу DB2 с перечисленными ниже полезными данными, такая система пока поддерживается и не требует изменений, но мы рекомендуем при любом удобном случае перейти на новую версию.
Предыдущие полезные данные:
{
"name": "Db2LinkedService",
"properties": {
"type": "Db2",
"typeProperties": {
"server": "<servername:port>",
"database": "<dbname>",
"authenticationType": "Basic",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Свойства набора данных
Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. Этот раздел содержит список свойств, поддерживаемых набором данных DB2.
Для копирования данных из DB2 поддерживаются следующие свойства.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство типа набора данных должно иметь значение : Db2Table | Да |
schema | Имя схемы. | Нет (если свойство query указано в источнике действия) |
table | Имя таблицы. | Нет (если свойство query указано в источнике действия) |
tableName | Имя таблицы со схемой. Это свойство поддерживается только для обеспечения обратной совместимости. Для новых рабочих нагрузок используйте schema и table . |
Нет (если свойство query указано в источнике действия) |
Пример
{
"name": "DB2Dataset",
"properties":
{
"type": "Db2Table",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<DB2 linked service name>",
"type": "LinkedServiceReference"
}
}
}
Если вы ранее использовали типизированный набор данных RelationalTable
, он пока поддерживается и не требует изменений, но мы рекомендуем при любом удобном случае перейти на новую версию.
Свойства действия копирования
Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. Этот раздел содержит список свойств, поддерживаемых источником DB2.
DB2 в качестве источника
Для копирования данных из DB2 в разделе source для действия копирования поддерживаются следующие свойства.
Свойство | Описание: | Обязательное поле |
---|---|---|
type | Свойство type источника действия копирования должно иметь значение: Db2Source | Да |
query | Используйте пользовательский SQL-запрос для чтения данных. Например: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"" . |
Нет (если для набора данных задано свойство tableName) |
Пример:
"activities":[
{
"name": "CopyFromDB2",
"type": "Copy",
"inputs": [
{
"referenceName": "<DB2 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "Db2Source",
"query": "SELECT * FROM \"DB2ADMIN\".\"Customers\""
},
"sink": {
"type": "<sink type>"
}
}
}
]
Если вы ранее использовали типизированный источник RelationalSource
, он пока поддерживается и не требует изменений, но мы рекомендуем в дальнейшем использовать более новую версию.
Сопоставление типов данных для DB2
При копировании данных из DB2 используются следующие сопоставления типов данных DB2 с промежуточными типами данных, используемыми службой для внутренних целей. Дополнительные сведения о том, как действие копирования сопоставляет исходную схему и типы данных для приемника, см. в статье Сопоставление схем в действии копирования.
Тип базы данных DB2 | Промежуточный тип данных службы |
---|---|
BigInt | Int64 |
Binary | Byte[] |
BLOB-объект | Byte[] |
Char | Строка |
Clob | Строка |
Дата | Datetime |
DB2DynArray | Строка |
DbClob | Строка |
Десятичное число | Десятичное число |
DecimalFloat | Decimal |
Двойной | Двойной |
Тип с плавающей запятой | Двойной |
GRAPHIC | Строка |
Целое число | Int32 |
LongVarBinary | Byte[] |
LongVarChar | Строка |
LongVarGraphic | Строка |
Числовое | Десятичное число |
Вещественное число | Одна |
SmallInt | Int16 |
Время | TimeSpan |
Метка времени | Дата/время |
VarBinary | Byte[] |
VarChar | Строка |
VarGraphic | Строка |
Xml | Byte[] |
Свойства действия поиска
Подробные сведения об этих свойствах см. в разделе Действие поиска.
Связанный контент
Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.