Oracle
Источник данных: внешний OracleEnterprise Edition+Введение
Oracle можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase считывает из Oracle таблицы данных, поля и представления и использует их как таблицы данных внешнего источника.
В отличие от основной базы данных, фактическая структура таблиц внешнего Oracle по-прежнему поддерживается исходной бизнес-системой, клиентом базы данных или скриптами миграции. NocoBase отвечает за чтение структуры, сохранение метаданных полей, настройку блоков страниц, прав доступа, рабочих процессов и API.
Внеш ний Oracle подходит для следующих сценариев:
- Подключение к базе данных Oracle существующих бизнес-систем ERP, MES, WMS, CRM и других
- Создание интерфейса управления в NocoBase без переноса исторических данных
- Настройка прав доступа, обработка процессов, исправление данных или создание отчетов для существующих таблиц
- Продолжение поддержки структуры базы данных со стороны DBA, скриптов миграции или исходной системы
Внешний Oracle не является системной базой данных NocoBase. NocoBase не берет на себя резервное копирование, восстановление, миграцию и изменение структуры его таблиц.
Установка плагина
Этот плагин является коммерческим. Подробные сведения об активации см. в руководстве Активация коммерческих плагинов
Если выбран режим подключения Thick, необходимо установить Oracle Client libraries в среде выполнения NocoBase и указать «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

