Копирование данных из хранилищ данных ODBC и обратно с помощью Фабрики данных Azure и Synapse Analytics

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

Попробуйте использовать фабрику данных в Microsoft Fabric, решение для аналитики с одним интерфейсом для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

В этой статье описывается, как с помощью действия копирования в фабрике данных Azure копировать данные в хранилище данных ODBC и из него. Это продолжение статьи об обзоре действия копирования, в которой представлены общие сведения о действии копирования.

Поддерживаемые возможности

Соединитель ODBC поддерживается для следующих возможностей:

Поддерживаемые возможности IR
Действие копирования (источник/приемник)
Действие поиска

① Среда выполнения интеграции Azure ② Локальная среда выполнения интеграции

Список хранилищ данных, которые поддерживаются в качестве источников/приемников, см. в таблице Поддерживаемые хранилища данных.

В частности, этот соединитель ODBC поддерживает копирование данных из любого хранилища данных, совместимого с ODBC, и в него с использованием базовой или анонимной проверки подлинности. Необходим 64-разрядный драйвер ODBC. Для приемника ODBC служба поддерживает стандарт ODBC версии 2.0.

Необходимые компоненты

Чтобы использовать этот соединитель ODBC, сделайте следующее:

Начало работы

Чтобы выполнить действие копирования с конвейером, можно воспользоваться одним из приведенных ниже средств или пакетов SDK:

Создание связанной службы для хранилища данных ODBC с помощью пользовательского интерфейса

Выполните следующие действия, чтобы создать связанную службу для хранилища данных ODBC с помощью пользовательского интерфейса на портале Azure.

  1. Перейдите на вкладку "Управление" в рабочей области Фабрики данных Azure или Synapse и выберите "Связанные службы", после чего нажмите "Создать":

  2. Найдите ODBC и выберите соединитель ODBC.

    Screenshot of the ODBC connector.

  3. Настройте сведения о службе, проверьте подключение и создайте связанную службу.

    Screenshot of linked service configuration for an ODBC data store.

Сведения о конфигурации соединителя

Следующие разделы содержат сведения о свойствах JSON, которые используются для определения сущностей фабрики данных, относящихся к соединителю ODBC.

Свойства связанной службы

Для связанной службы ODBC поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Для свойства type необходимо задать значение Odbc Да
connectionString Строка подключения, исключающая учетные данные. Можно указать строку подключения вида Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; или использовать системное имя источника данных (DSN), которое вы настроили на компьютере Integration Runtime с помощью DSN=<name of the DSN on IR machine>; (вы все равно должны указать соответствующие учетные данные в связанной службе).
Вы можете также поместить пароль в Azure Key Vault и извлечь конфигурацию password из строки подключения. Дополнительные сведения см. в разделе Хранение учетных данных в Azure Key Vault.
Да
authenticationType Тип проверки подлинности, используемый для подключения к хранилищу данных ODBC.
Допустимые значения: Basic, Anonymous.
Да
userName При использовании обычной проверки подлинности укажите имя пользователя. No
password Введите пароль для учетной записи пользователя, указанной для выбранного имени пользователя. Пометьте это поле как SecureString, чтобы безопасно хранить его, или добавьте ссылку на секрет, хранящийся в Azure Key Vault. No
учетные данные Учетные данные в строке подключения, используемые для получения доступа и указанные в формате "драйвер-определенное свойство-значение". Пример: "RefreshToken=<secret refresh token>;". Пометьте это поле в качестве SecureString. No
connectVia Среда выполнения интеграции, используемая для подключения к хранилищу данных. Требуется локальная среда IR, как упоминалось в разделе Предварительные требования. Да

Пример 1. Использование обычной проверки подлинности

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Пример 2. Использование анонимной проверки подлинности

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Anonymous",
            "credential": {
                "type": "SecureString",
                "value": "RefreshToken=<secret refresh token>;"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Свойства набора данных

Полный список разделов и свойств, доступных для определения наборов данных, см. в статье о наборах данных. В этом разделе содержится список свойств, поддерживаемых набором данных ODBC.

Для копирования данных из хранилища данных, совместимого с ODBC, или в него можно использовать следующие свойства:

Свойство Описание: Обязательное поле
type Для свойства type набора данных необходимо задать значение OdbcTable Да
tableName Имя таблицы в хранилище данных ODBC. Нет для источника (если свойство query указано в источнике действия).
Да для приемника.

Пример

{
    "name": "ODBCDataset",
    "properties": {
        "type": "OdbcTable",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ODBC linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "<table name>"
        }
    }
}

Если вы ранее использовали типизированный набор данных RelationalTable, он пока поддерживается и не требует изменений, но мы рекомендуем при любом удобном случае перейти на новую версию.

Свойства действия копирования

Полный список разделов и свойств, используемых для определения действий, см. в статье Конвейеры и действия в фабрике данных Azure. В этом разделе содержится список свойств, поддерживаемых источником ODBC.

ODBC в качестве источника

Чтобы скопировать данные из хранилища данных, совместимого с ODBC, можно использовать следующие свойства из раздела источник для действия копирования:

Свойство Описание: Обязательное поле
type Свойство type источника действия копирования должно иметь значение OdbcSource Да
query Используйте пользовательский SQL-запрос для чтения данных. Например: "SELECT * FROM MyTable". Нет (если для набора данных задано свойство tableName)

Пример:

"activities":[
    {
        "name": "CopyFromODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ODBC input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OdbcSource",
                "query": "SELECT * FROM MyTable"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

Если вы ранее использовали типизированный источник RelationalSource, он пока поддерживается и не требует изменений, но мы рекомендуем в дальнейшем использовать более новую версию.

ODBC в качестве приемника

Чтобы скопировать данные в хранилище данных, совместимое с ODBC, установите тип приемника в действии копирования OdbcSink. В разделе sink действия копирования поддерживаются следующие свойства:

Свойство Описание: Обязательное поле
type Свойство type приемника действия копирования должно иметь значение OdbcSink. Да
writeBatchTimeout Время ожидания до выполнения операции пакетной вставки, пока не завершится срок ее действия.
Допустимые значения: промежуток времени. Пример: 00:30:00 (30 минут).
No
writeBatchSize Вставляет данные в таблицу SQL, когда размер буфера достигает значения writeBatchSize.
Допустимые значения: целое число (количество строк).
Нет (по умолчанию — 0 (автоматическое обнаружение))
preCopyScript Перед записью данных в хранилище данных при каждом запуске указывайте SQL-запрос для выполнения операции копирования. Это свойство можно использовать для очистки предварительно загруженных данных. No

Примечание.

Если для параметра writeBatchSize значение не установлено (автоматическое определение), сначала действие копирования определяет, поддерживает ли драйвер пакетные операции, а затем устанавливает значение 10 000, если поддерживает, или 1, если не поддерживает. Если явно задано значение, отличное от 0, действие копирования учитывает это значение, и, если драйвер не поддерживает пакетные операции, во время выполнения происходит сбой.

Пример:

"activities":[
    {
        "name": "CopyToODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ODBC output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OdbcSink",
                "writeBatchSize": 100000
            }
        }
    }
]

Свойства действия поиска

Подробные сведения об этих свойствах см. в разделе Действие поиска.

Устранение неполадок с подключением

Для устранения проблем подключения используйте вкладку Диагностикадиспетчера конфигурации для среды выполнения интеграции.

  1. Запустите диспетчер конфигурации для среды выполнения интеграции.
  2. Перейдите на вкладку Диагностика .
  3. В разделе "Проверить подключение" выберите тип хранилища данных (связанную службу).
  4. Укажите строку подключения для подключения к хранилищу данных, выберите проверку подлинности и введите имя пользователя, пароль и/или учетные данные.
  5. Щелкните Проверить подключение , чтобы проверить подключение к хранилищу данных.

Список хранилищ данных, которые поддерживаются в качестве источников и приемников для действия Copy, приведен в таблице Поддерживаемые хранилища данных и форматы.