Конектор джерела для 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¶

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

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

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