Подключение в Базу данных Oracle из Azure Logic Apps

Область применения: Azure Logic Apps (потребление)

Используя соединитель базы данных Oracle, вы можете создавать рабочие процессы, использующие данные из существующей базы данных. Соединитель позволяет подключаться к базе данных Oracle, размещенной локально или на виртуальной машине Azure. С помощью соединителя вы можете:

  • создавать рабочие процессы путем добавления нового клиента в базу данных клиентов или обновления заказа в базе данных заказов;
  • использовать действия для получения строки данных, вставки новой строки и даже ее удаления. Например, создание записи в Dynamics CRM Online (триггер) может приводить к добавлению строки в базу данных Oracle (действие).

Этот соединитель не поддерживает следующие элементы:

  • таблицы с составными ключами;
  • типы вложенных объектов в таблицах.
  • Функции базы данных с нескалярными значениями

В этой статье показано, как использовать соединитель базы данных Oracle в приложении логики.

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

  • Поддерживаемые версии Oracle:

    • Oracle 9 и более поздней версии
    • Клиент Oracle Data Access (ODAC) 11.2 и более поздних версий
  • Установка и настройка локального шлюза данных. Этот процесс описан в статье Подключение к локальным данным из приложений логики. Шлюз является обязательным компонентом для подключения к локальной базе данных Oracle или виртуальной машине Azure, на которой установлена база данных Oracle.

    Примечание.

    Локальный шлюз данных используется как мост для передачи данных между приложением логики и локальными (не расположенными в облаке) источниками. Один шлюз может использоваться с несколькими службами и источниками данных. Поэтому, как правило, шлюз устанавливается один раз.

  • Установите клиент Oracle на компьютере, где установлен локальный шлюз данных. Убедитесь, что вы установите 64-разрядный поставщик данных Oracle для .NET из Oracle и выберите версию установщика Windows, так как xcopy версия не работает с локальным шлюзом данных:

    ODAC 12c, 64-разрядная версия 4 (12.1.0.2.4) для Windows x64

    Совет

    Если клиент Oracle не установлен, при попытке создать или использовать соединение будет возникать ошибка. Описание ошибок приводится в соответствующем разделе этой статьи.

Добавление соединителя

Важно!

Этот соединитель не содержит триггеров. В нем есть только действия. Поэтому при создании приложения логики следует добавить отдельный триггер для запуска приложения логики, например Расписание — Периодичность или Запрос/ответ — Ответ.

  1. Создайте пустое приложение логики на портале Azure.

  2. Для запуска приложения логики выберите триггер Запрос/ответ — Запрос:

    A dialog box has a box to search all triggers. There is also a single trigger shown,

  3. Выберите Сохранить. При сохранении данных автоматически создается URL-адрес запроса.

  4. Выберите Новый шаг, а затем — Добавить действие. Введите oracle, чтобы увидеть список доступных действий:

    A search box contains

    Совет

    Это самый быстрый способ просмотреть триггеры и действия, доступные для определенного соединителя. Введите часть имени соединителя, например oracle. Конструктор выведет полный список триггеров и действий.

  5. Выберите одно из этих действий, например База данных Oracle — Получение строки. Установите флажок Connect via on-premises data gateway (Подключение через локальный шлюз данных). Введите имя сервера Oracle, метод аутентификации, имя пользователя и пароль, а также выберите шлюз:

    The dialog box is titled

  6. Подключившись, выберите таблицу из списка и введите идентификатор нужной таблицы. Этот идентификатор таблицы у вас уже должен быть. Если его нет, обратитесь к администратору базы данных Oracle и получите выходные данные инструкции select * from yourTableName. В них содержится информация, которую нужно использовать на этом шаге.

    Следующий пример возвращает данные о задании из базы данных "Human Resources":

    The dialog box titled

  7. На этом шаге в создаваемый рабочий процесс можно добавить любой другой соединитель. Если вам достаточно просто проверить получение данных из Oracle, отправьте полученные из Oracle данные себе по электронной почте, применив любой из соединителей отправки электронной почты, например Office 365 Outlook. Используйте динамические маркеры из таблицы Oracle для формирования полей Subject и Body в сообщении электронной почты:

    There are two dialog boxes. The

  8. Сохраните приложение логики, а затем выберите Выполнить. Закройте конструктор и проверьте состояние приложения в журнале запусков. Если вы увидите сообщение об ошибке, выберите эту строку. Откроется конструктор, в котором вы увидите, какой шаг привел к сбою, а также сведения об ошибке. Если действие будет выполнено успешно, вы получите сообщение электронной почты со сведениями, которые только что добавили.

Идеи для рабочих процессов

  • Вы можете отслеживать хэштег #oracle и переносить найденные твиты в базу данных, чтобы позднее использовать их в других приложениях. Добавьте в приложение логики триггер Twitter - When a new tweet is posted и введите хэштег #oracle. Затем добавьте действие Oracle Database - Insert row и выберите нужную таблицу:

    The

  • Сообщения отправляются в очередь служебной шины. Теперь вам нужно получить эти сообщения и поместить их в базу данных. Добавьте в приложение логики триггер Service Bus - when a message is received in a queue и выберите используемую очередь. Затем добавьте действие Oracle Database - Insert row и выберите нужную таблицу:

    The

Распространенные ошибки

Ошибка. Не удается связаться со шлюзом.

Причина. Локальный шлюз данных не может подключиться к облаку. 

Устранение. Убедитесь, что шлюз работает на локальной машине, где он установлен, и что он может подключаться к Интернету.  Мы рекомендуем не устанавливать шлюза на компьютере, который может быть выключен или переведен в спящий режим. Можно также попытаться перезапустить локальную службу шлюза данных (PBIEgwService).

Ошибка. Используемый поставщик является устаревшим: "System.Data.OracleClient требует версию клиента программного обеспечения Oracle 8.1.7 или более поздней версии.". Перейдите по ссылке https://go.microsoft.com/fwlink/p/?LinkID=272376, чтобы установить официальный поставщик.

Причина. На компьютере, где выполняется локальный шлюз данных, не установлен пакет SDK для клиента Oracle. 

Решение. Скачайте и установите пакет SDK для клиента Oracle на компьютере, где установлен локальный шлюз данных.

Ошибка. В таблице [Имя_таблицы] не определены ключевые столбцы.

Причина. В таблице отсутствует первичный ключ. 

Решение. Соединитель базы данных Oracle можно использовать только с таблицей, в которой есть столбец первичного ключа.

Сведения о соединителях

Информацию о существующих ограничениях, а также о триггерах и действиях, определенных в Swagger, см. в статье со сведениями о соединителях.

Справочные сведения

Мы рекомендуем посетить страницу Майкрософт с вопросами и ответами по Azure Logic Apps, где вы сможете задать вопросы, помочь другим пользователям и узнать, что они делают.

Чтобы улучшить Logic Apps и соединители, внесите свои предложения или проголосуйте за уже внесенные на сайте https://aka.ms/logicapps-wish.

Следующие шаги