Коннектор источника для Oracle¶
Это руководство описывает, как настроить digna для подключения к Oracle Database через ODBC со строкой подключения без DSN (DSN-less).
Сторона digna одинакова для всех технологий — где создаются подключения, как шифруются значения свойств, как проверяется подключение и что означают режимы профилирования. Она описана в разделе Обзор подключений к базам данных. Эта страница описывает то, что специфично для Oracle.
1. Установка драйвера ODBC¶
Драйвер Oracle ODBC входит в состав Oracle Client (достаточно пакета «ODBC» для Instant Client). Установите его на машину, где работает бэкенд digna, следуя официальному руководству по установке от производителя.
Драйвер регистрируется как Oracle in <OracleHomeName> — например, Oracle in OraDB21Home1 или Oracle in instantclient_21_13. Имя Oracle home различается от установки к установке, поэтому узнайте точное имя на вашем хосте, как описано в разделе Установка драйвера ODBC на хосте digna.
2. Свойства ODBC¶
Пример, а не спецификация
Набор ниже — одна комбинация, которая заведомо работает. Свойства принадлежат драйверу Oracle ODBC, поэтому их имена, значения по умолчанию и допустимые значения различаются между версиями клиента, а имя драйвера, в частности, зависит от Oracle home на вашем хосте. Используйте этот набор как отправную точку и сверяйтесь с документацией установленной версии клиента.
Добавьте следующие свойства на экране 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 с поддержкой 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, имя сервиса и ваши учётные данные работают, прежде чем вводить их в digna.
Шаг 1¶

Значения TNS Service Name, предлагаемые здесь, берутся из tnsnames.ora вашей установки Oracle Client — именно там определён псевдоним, а вместе с ним хост, порт и имя сервиса. В digna можно использовать этот псевдоним как DBQ или вместо него полный дескриптор.
Шаг 2 – проверка подключения¶
Нажмите кнопку Test Connection.

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

Сообщение об успешном подключении подтверждает, что драйвер и учётные данные работают.