НАЧАЛО >> Руководство пользователя >> Назначение и основные характеристики📄 Скачать в DOCX
Модуль Database предоставляет системе единый слой работы с базами данных. Через него выполняются открытие БД, поиск, чтение и запись записей, форматирование, работа со словарем, глобальная корректировка, полнотекстовый поиск, служебные операции индексирования и получение файлов БД.
Обычное чтение и сохранение записей через Database не создает служебное поле 113. Это поле сохраняется, если уже присутствует в записи, но его создание и изменение относится к явным операциям подсистемы прав или доменных модулей. Подробнее см. служебное поле 113.
Физический источник данных скрыт за провайдером данных. Для остальной системы база данных выглядит единообразно независимо от того, где реально находятся записи: в локальной БД ИРБИС, на сетевом сервере ИРБИС 64, во внешнем Web-каталоге или в логическом объединении нескольких БД.
Провайдеры данных
При открытии БД модуль читает INI-настройки базы и проверяет SID конфигурации провайдера в поле 221^A записи DATABASE. Если SID заполнен, параметры соединения провайдера берутся из связанной записи конфигурации, а имя БД на подключаемом сервере берется из 221^B записи DATABASE и передается провайдеру как PROVIDER.DB. Если поле пусто, модуль читает секцию PROVIDER из физического INI-файла БД и выполняет миграцию: для TYPE=Local удаляет секцию и оставляет поле 221 пустым, для остальных типов переносит PROVIDER.DB в 221^B, создает или переиспользует typed-запись DP_<TYPE> с параметрами соединения без DB, записывает ее SID в DATABASE и удаляет секцию из INI БД. Если нет ни SID в поле 221^A, ни секции, используется Local.
Если БД временно помечена как недоступная или провайдер не удалось инициализировать, открытие возвращает ошибку -109.
Записи баз данных администрируются как объекты типа Database в модуле Admin. В карточке БД доступны:
Административные параметры провайдеров хранятся в typed-записях DP_<TYPE> и описаны в разделе Базы данных и провайдеры данных. Тип провайдера не хранится как отдельный параметр конфигурации: он вычисляется из поля 920 этой записи.
В настройках модуля Database для этих записей есть раздел Конфигурации провайдеров данных с кнопками управления по доступным модулям DP_*. Каждая кнопка открывает список записей своего типа провайдера.
В системных настройках записи БД используются поисковые выражения и префиксы:
| Поле | Назначение |
|---|---|
2^A |
Поисковый запрос для вывода всех записей БД. Если не задан, используется "V=$". |
2^B |
Префикс поиска уникальной записи. Если не задан, используется I=. |
2^C |
Префикс поиска по типу записи. Если не задан, используется V=. |
3^A |
Поле, где хранится идентификатор записи. |
3^B |
Подполе, где хранится идентификатор записи. |
221^A |
SID записи конфигурации провайдера данных. В редакторе БД поле выводится через выбор записи DP_*. Если поле пустое, провайдер считается локальным либо мигрируется из секции PROVIDER INI БД. |
221^B |
Имя БД на подключаемом сервере. Передается выбранному провайдеру как PROVIDER.DB; при миграции переносится из секции PROVIDER INI БД. |
218^A |
Включение префиксной сортировки. |
219 |
Набор критериев сортировки: имя формата или префикс и отображаемое название. |
После сохранения новой записи БД модуль создает БД через основной провайдер i128f и сбрасывает кэш меню имен БД, чтобы новая база появилась в системных списках.
Если запись БД связана со сводным каталогом, в карточке появляются настройки импорта из внешних систем. Текущий код поддерживает запуск полной выгрузки через очередь задач для источников MarcWeb2, MegaPro и Ruslan ZGate. Перед запуском нужно учитывать предупреждение интерфейса: импорт может полностью перезаписать данные целевой БД.