Перейти до змісту

Конектор джерела для Oracle

У цьому посібнику описано, як налаштувати digna для підключення до Oracle Database через ODBC за допомогою рядка підключення без DSN.

Налаштування на боці digna однакове для всіх технологій — де створюються підключення, як шифруються значення властивостей, як тестується підключення та що означають режими профілювання. Це описано в розділі Огляд підключень до баз даних. Ця сторінка охоплює те, що специфічне для Oracle.


1. Встановлення драйвера ODBC

Драйвер Oracle ODBC входить до складу Oracle Client (достатньо пакета "ODBC" з Instant Client). Встановіть його на машині, де працює бекенд digna, відповідно до офіційного посібника зі встановлення від постачальника.

Драйвер реєструється як Oracle in <OracleHomeName> — наприклад, Oracle in OraDB21Home1 або Oracle in instantclient_21_13. Назва домашнього каталогу Oracle відрізняється для кожної інсталяції, тому прочитайте точну назву на своєму хості, як описано в розділі Встановлення драйвера ODBC на хості digna.


2. Властивості ODBC

Приклад, а не специфікація

Наведений нижче набір — одна комбінація, яка гарантовано працює. Властивості належать драйверу Oracle ODBC, тому їхні назви, значення за замовчуванням і допустимі значення відрізняються між версіями клієнта, а назва драйвера, зокрема, залежить від домашнього каталогу Oracle на вашому хості. Використовуйте це як відправну точку та звіряйтеся з документацією встановленої версії клієнта.

Додайте такі властивості на екрані Add DB Connection:

Ключ Приклад значення Примітки
Driver Oracle in OraDB21Home1 Має збігатися з назвою драйвера, зареєстрованою на хості digna
DBQ (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=digna_source_db))) База даних для підключення — див. нижче
UID DIGNA_SOURCE_USER Користувач бази даних
PWD <password> Позначте Encrypted

Отриманий рядок підключення виглядає так:

Driver=Oracle in OraDB21Home1;DBQ=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=digna_source_db)));UID=DIGNA_SOURCE_USER;PWD=<password>

Значення DBQ

DBQ приймає три форми. Для digna вони рівнозначні; відрізняються тим, що потрібно налаштувати на хості digna:

Форма Приклад Потребує
Повний дескриптор підключення (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.example.com)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=digna_source_db))) Нічого — усе міститься у властивості. Рекомендовано
Псевдонім TNS DIGNA_SOURCE Псевдонім має існувати в tnsnames.ora клієнта Oracle на хості digna
Easy Connect db.example.com:1521/digna_source_db Oracle Client із підтримкою Easy Connect (12c і новіші)

Надавайте перевагу повному дескриптору

Псевдонім TNS переносить половину визначення підключення у файл на хості digna, про який легко забути, коли хост перебудовують або digna переносять. Повний дескриптор робить підключення самодостатнім — у цьому й полягає сенс налаштування без DSN.

Дужки в дескрипторі не створюють проблем у рядку підключення, але якщо ваш пароль містить ;, візьміть його у фігурні дужки: PWD={p@ss;word}.


3. Налаштування digna

На екрані Add DB Connection вкажіть таке:

Name:               Name of the connection. This is used for referencing the connection in other screens.
Technology:         Oracle
Profiling Mode:     Standard, Permanent or Session
Work Schema:        Schema for the work tables of "Permanent" profiling, e.g. "DIGNA_WORK"

4. Примітки щодо Oracle

  • Схеми — це користувачі. digna показує користувачів Oracle як схеми, тому схема джерела — це власник таблиць, у наведеному вище прикладі DIGNA_SOURCE_USER. Користувачеві підключення потрібне право SELECT на ці таблиці — безпосередньо або через роль.
  • Одне підключення бачить одну базу даних. Каталог, який пропонує digna, — це база даних, до якої приєднано підключення, тому DBQ визначає, яка служба, а отже, яка база даних профілюється.
  • Після взяття в лапки ідентифікатори чутливі до регістру. digna бере в лапки імена, які зчитує зі словника даних, тобто в тому вигляді, як їх зберігає Oracle — великими літерами для об'єктів без лапок.
  • Режими профілювання. Permanent створює робочі таблиці в Work Schema, тому користувачеві потрібне там право CREATE TABLE і квота на табличний простір. Session використовує приватну тимчасову таблицю (ORA$PTT_…, Oracle 18c і новіші) і не зачіпає Work Schema. Standard потребує лише доступу для читання.

5. Перевірка драйвера (необов'язково)

Для підключення без DSN налаштовувати джерело даних ODBC не потрібно, але власний діалог драйвера — зручний спосіб переконатися, що Oracle Client, ім'я служби та ваші облікові дані працюють, перш ніж вводити їх у digna.

Крок 1

Step 1

TNS Service Name, запропоноване тут, береться з tnsnames.ora вашої інсталяції Oracle Client — саме там визначено псевдонім, а разом із ним хост, порт та ім'я служби. У digna можна використати цей псевдонім як DBQ або замість нього повний дескриптор.

Крок 2 – Тестування підключення

Натисніть кнопку Test Connection.

Step 2

Введіть пароль і натисніть кнопку OK.

Step 3

Повідомлення про успіх підтверджує, що драйвер і облікові дані працюють.