НАЧАЛО >> Руководство пользователя >> Базы данных и провайдеры данных📄 Скачать в DOCX
Сервер приложений ИРБИС 128 работает с базами данных через провайдеры данных. Провайдер скрывает особенности конкретного источника данных и предоставляет системе единый набор операций: подключение, поиск, чтение, форматирование и запись.
Настройка провайдера хранится отдельно от записи БД. Запись БД хранит SID конфигурации провайдера в поле 221^A, а имя БД на подключаемом сервере - в поле 221^B; в карточке БД эти параметры редактируются как выбор записи конфигурации и строковое поле. Сами параметры соединения находятся в отдельной записи конфигурации провайдера. Для разных типов провайдеров используются отдельные типы записей, совпадающие с модулями провайдеров: DP_<TYPE>, например DP_WEBIRB или DP_RAIDB0; такие записи редактируются в АРМ как обычные typed-записи с явными полями параметров секции PROVIDER, кроме параметров DB и TYPE. DB хранится в записи БД, а TYPE вычисляется из типа записи в поле 920.
Создать или открыть такую запись можно в настройках модуля Database в разделе Конфигурации провайдеров данных. В этом разделе находятся кнопки управления для доступных модулей DP_*; каждая кнопка открывает список записей соответствующего типа, например DP_WEBIRB или DP_RAIDB0.
Если поле 221^A в записи БД еще не заполнено, система читает секцию PROVIDER из физического INI-файла БД. Для TYPE=Local секция удаляется из INI БД, а поле 221 остается пустым. Для других типов система переносит PROVIDER.DB в 221^B, ищет уже существующую запись конфигурации с таким же набором параметров соединения без DB; если такой записи нет, создает новую. После этого SID найденной или созданной записи записывается в DATABASE в поле 221^A, а секция PROVIDER удаляется из INI БД. Если нет ни SID в поле 221^A, ни секции PROVIDER, используется локальный провайдер.
Редактор записей конфигурации провайдера поддерживает следующие типы:
| Тип | Назначение |
|---|---|
Irbis64r |
Подключение к TCP-серверу ИРБИС 64. |
jirb, jirb2 |
Подключение к J-ИРБИС. |
MarcWeb, MarcWeb2, VTLS |
Подключение к внешним Web-каталогам соответствующих типов. |
webirb |
Подключение к Web-ИРБИС 32/64/64+. |
i128 |
Подключение к ИРБИС 64/128. |
raidb0 |
Логическое объединение нескольких БД в одну. |
Local |
Локальная БД на основном сервере ИРБИС 64. |
EKBSON |
Сводная БД ИС ЭКБСОН. |
z3950 |
Подключение к серверу Z39.50. |
При открытии БД система вычисляет PROVIDER.TYPE из поля 920 связанной записи конфигурации или читает его из мигрируемой секции INI БД и выбирает соответствующий модуль провайдера. Например, для типа webirb используется модуль DP_webirb, для raidb0 - DP_raidb0. Тип провайдера индексируется у записи БД терминами DBPROVIDER=<тип> и DBPROVIDER.TYPE=<тип>, а сами записи конфигурации индексируются терминами DBPROVIDERCFG.*.
Набор полей в окне настройки зависит от типа записи провайдера в поле 920. Параметр TYPE в записи конфигурации не редактируется и не хранится как отдельное поле: при формировании runtime-секции PROVIDER он вычисляется из 920.
| Параметр | Использование |
|---|---|
HOST, PORT |
Адрес и порт подключаемого сервера. |
TIMEOUT |
Таймаут соединения. |
LOGIN, PW |
Учетные данные для провайдеров, которые поддерживают авторизацию. |
DB |
Имя БД на подключаемом сервере. Хранится в записи DATABASE в поле 221^B и при открытии БД передается провайдеру как PROVIDER.DB. |
REMOTECP |
Кодировка данных удаленной системы. |
PROXY, PROXYUSER, PROXYPASSWORD |
Параметры прокси-сервера для провайдеров, где доступ выполняется через HTTP. |
FMT |
Формат для разбора записей или ответа внешней системы. |
FSTINNAME |
Формат входных записей для провайдеров, которым нужна конвертация. |
raidb0Провайдер raidb0 используется, когда одну логическую БД нужно собрать из нескольких физических БД. В настройках указываются подключенные БД и вес записи в каждую из них.
| Параметр | Назначение |
|---|---|
SUBDBS_COUNT |
Количество подключенных БД. Заполняется автоматически при сохранении настроек. |
SUBDBSCFG_<N>_NAME |
Имя подключенной БД с номером <N>. |
SUBDBSCFG_<N>_READWEIGHT |
Вес чтения из указанной БД. |
SUBDBSCFG_<N>_WRITEWEIGHT |
Вес записи в указанную БД. Используется для распределения записей между подключенными БД. |
Для работы провайдера Z39.50 требуется PHP-модуль yaz. Это требование также зафиксировано в разделе системных требований.
Основные параметры Z39.50: HOST, PORT, LOGIN, PW, DB, TIMEOUT, REMOTECP, FMT, FSTINNAME.
Параметр $OPTIONS['localProvider'] задает основной провайдер данных системы. Для локального файлового доступа может использоваться нативный провайдер DP_Irbis64Native. Его текущее значение и доступные системные параметры описаны в разделе параметров ядра.