Как подключиться к локальной базе данных Oracle с использованием функций Azure? - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь создать функцию Azure для подключения и запроса локальной базы данных Oracle. Я не вижу, чтобы клиент Oracle или ODBC-драйвер были установлены на серверах для этого.

Есть ли какие-либо решения для этого с использованием JS или Python?

Я пытался использовать драйвер node-odbc, но на сервере отсутствует клиент Oracle.

Ответы [ 2 ]

0 голосов
/ 27 мая 2019

Вам нужно будет установить гибридное соединение.см. https://docs.microsoft.com/en-us/azure/app-service/app-service-hybrid-connections

Затем вы можете обратиться к этой теме, чтобы установить контекст:

https://social.msdn.microsoft.com/Forums/en-US/2434fe10-3219-4625-bdbf-b9e96421230b/entity-framework-with-oracle-and-sql

Для решения nodejs я бы добавил NPM и установил егоиспользование Kudu с использованием node-oracledb: https://oracle.github.io/node-oracledb/doc/api.html#getstarted

// myscript.js // В этом примере используется синтаксис Node 8 async / await.

var oracledb = require('oracledb');

var mypw = ...  // set mypw to the hr schema password

async function run() {

  let connection;

  try {
    connection = await oracledb.getConnection(  {
      user          : "hr",
      password      : mypw,
      connectString : "localhost/XEPDB1"
    });

    let result = await connection.execute(
      `SELECT manager_id, department_id, department_name
       FROM departments
       WHERE manager_id = :id`,
      [103],  // bind value for :id
    );
    console.log(result.rows);

  } catch (err) {
    console.error(err);
  } finally {
    if (connection) {
      try {
        await connection.close();
      } catch (err) {
        console.error(err);
      }
    }
  }
}

run();

пример кода

0 голосов
/ 27 мая 2019

Частично ответьте за подключение к локальной службе, такой как Oracle-db, из Azure Functions, существует существующий поток SO Как настроить функцию Azure для соединения между сайтами? ответил, чтоВы можете обратиться к.Итак, сначала вы должны убедиться, что сетевой доступ к локальному серверу доступен.

Затем, если вы хотите запросить базу данных oracle через odbc, драйвер oracle odbc должен быть установлен на стороне клиента.Однако драйвер oracle odbc - это коммерческий компонент, за который нужно заплатить, и установить его вручную в функциях Azure.Таким образом, даже если вы хотите использовать JS или Python для его подключения, я думаю, что использование Java с драйвером Oracle jdbc является лучшим решением из функций Azure для подключения базы данных Oracle во избежание дополнительной установки.

Другой способ, которым я думалразвернуть приложение API REST в качестве прокси-сервера на локальном сервере для обработки запроса запроса от функций Azure с JS или Python, чтобы помочь подключить Oracle DB.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...