Oracle
Источник данных: внешний OracleEnterprise Edition+Введение
Oracle можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase будет считывать из Oracle таблицы данных, поля и представления и использовать их как таблицы данных внешнего источника.
В отличие от основной базы данных, фактическая структура таблиц внешнего Oracle по-прежнему поддерживается исходной бизнес-системой, клиентом базы данных или скриптами миграции. NocoBase отвечает за чтение структуры, сохранение метаданных полей, настройку блоков страниц, прав доступа, рабочих процессов и API.
Внешний Oracle подходит для следующих сценариев:
- Подключение базы данных Oracle существующих бизнес-систем ERP, MES, WMS, CRM и других
- Создание интерфейса управления в NocoBase без переноса исторических данных
- Настройка прав доступа, обработка процессов, исправление данных или создание отчётов на основе существующих таблиц
- Продолжение поддержки структуры базы данных со стороны DBA, скриптов миграции или исходной системы
Внешний Oracle не является системной базой данных NocoBase. NocoBase не управляет её резервным копированием, восстановлением, миграцией и изменениями структуры таблиц.
Установка плагина
Этот плагин является коммерческим. Подробные сведения об активации см. в руководстве: Руководство по активации коммерческих плагинов
Если выбран режим подключения Thick, в среде выполнения NocoBase необходимо установить Oracle Client libraries и указать «Client directory» в настройках источника данных.
Установка клиента Oracle
Для Oracle Database 12.1 и более поздних версий обычно используется режим Thin, не требующий дополнительной установки Oracle Client. Устанавливать Oracle Client libraries в среде выполнения NocoBase нужно только при подключении к версии Oracle Database до 12.1 или при обязательном использовании режима Thick.
После выбора режима «Thick» в настройках источника данных необходимо убедиться, что машина, на которой запущен сервис NocoBase, может загрузить Oracle Client.

В среде Linux Oracle Instant Client можно установить следующим способом:
Если Oracle Client установлен не в расположение, которое система загружает по умолчанию, укажите каталог библиотек клиента в поле «Client directory». Например, при установке описанным выше способом соответствующим каталогом будет /opt/instantclient_19_25.

Client directory необходимо настраивать только в режиме Thick. В режиме Thin этот параметр не используется. Дополнительные правила инициализации см. в документации по инициализации node-oracledb.
Добавление источника данных
В разделе «Управление источниками данных» нажмите «Add new», выберите Oracle и укажите сведения для подключения.

Основные параметры подключения:
Область подключения в Oracle в основном определяется Owner учётной записи подключения, Table prefix и параметром «Collections». Если в одном экземпляре много объектов, рекомендуется использовать отдельную учётную запись для подключения к нужной бизнес-схеме, чтобы в NocoBase не попадали не относящиеся к делу объекты.
Выбор таблиц данных
После ввода сведений для подключения можно нажать «Load Collections», чтобы получить список доступных в Oracle таблиц данных и представлений. Результаты считывания зависят от Owner учётной записи подключения, Table prefix и настройки «Collections».
По умолчанию включён параметр «Add all collections», то есть подключаются все таблицы и представления в текущей области. Чтобы подключить только некоторые объекты, выключите «Add all collections», а затем выберите нужные таблицы данных или представления в списке.

Один внешний источник данных может одновременно подключить не более 500 таблиц данных или представлений. Если в Oracle много объектов, рекомендуется заранее сузить область с помощью Owner учётной записи подключения, Table prefix или параметра «Collections».
Синхронизация и настройка полей
Структура таблиц внешнего Oracle поддерживается на стороне базы данных. NocoBase не создаёт во внешнем Oracle поля, не изменяет типы полей и не удаляет реальные поля.
При изменении структуры таблиц на стороне Oracle можно выполнить в источнике данных команду «Sync from database», чтобы повторно считать метаданные таблиц и полей. Синхронизация обновит сохранённые в NocoBase таблицы данных, поля, первичные ключи, уникальные ключи и сведения о сопоставлении типов полей, но не удалит реальные таблицы или данные в Oracle.
После синхронизации полей в NocoBase можно настроить заголовок поля, тип поля (Field type) и компонент поля (Field interface). Если требуется создать поле связи NocoBase, его метаданные связи также сохраняются в NocoBase; настоящее поле внешнего ключа в таблице Oracle автоматически добавлено не будет.
Сопоставление типов полей
NocoBase автоматически сопоставляет типы полей Oracle с подходящими Field type и Field interface. Способ отображения в интерфейсе можно изменить в настройках поля.
Основные сопоставления:
BLOB, BFILE и другие типы двоичных объектов автоматически не используются как обычные поля файлов. Если требуется управлять вложениями на страницах, обычно рекомендуется использовать в NocoBase таблицу файлов или поле вложений для хранения метаданных файлов.
Первичный ключ и уникальный идентификатор записи
Для таблиц данных, используемых для отображения и редактирования в блоках страниц, рекомендуется наличие первичного ключа или уникального поля. NocoBase в первую очередь использует первичный ключ в качестве уникального идентификатора записи.
Если подключается представление, таблица без первичного ключа или таблица с составным первичным ключом, необходимо вручную задать «Record unique key» в настройк ах таблицы данных. Если доступного уникального идентификатора нет, блоки страниц могут некорректно отображать, редактировать или удалять записи.

Связанные ссылки
- Внешние базы данных — общие сведения о настройке и управлении внешними базами данных
- Управление источниками данных — сведения о разделе источников данных и способах управления ими
- Поля таблиц данных — сведения о типах полей и их сопоставлении
- Документация по инициализации node-oracledb — сведения о способе загрузки Oracle Client libraries

