НАЧАЛО >> Ядро доступа к ИРБИС64 >> Провайдеры и подключение📄 Скачать в DOCX
При инициализации i128f выбирает корневой провайдер доступа к ИРБИС64 по настройке OPTIONS['localProvider'].
DP_Irbis64Direct - прямой локальный провайдер, если он явно указан;DP_Irbis64Native - нативный локальный провайдер, если он явно указан;DP_Irbis64 - TCP/IP-провайдер по умолчанию.Подробное описание нативного локального провайдера приведено в разделе DP_Irbis64Native.
Для TCP/IP-подключения используются параметры:
i128Login;i128Password;i64MasterHost;i64MasterPort.Если доступен файл IrbisExecPath/irbis_server.ini, модуль читает его через Ini и предоставляет значения через GetServerIni() и getServerValue().
OpenDbByMnemonicName создает объект ObjectDataDatabase, применяет настройки ARM и INI базы, загружает WSOPT, PFTOPT, FMTMNU и при необходимости назначает индивидуальный провайдер базы. Повторное открытие той же базы возвращает уже созданный объект.
Для открытия базы в режиме чтения имя может передаваться с префиксом -, например -IBIS.
$RootDP и $Databases являются внутренним состоянием модуля i128f и не предназначены для прямого чтения или изменения из других модулей. Для внешнего кода поддерживается доступ через публичные методы:
GetRootDP() возвращает корневой провайдер после успешного подключения модуля;GetRootAdminDP() оставлен как совместимый синоним GetRootDP();GetDb($dbName) и OpenDbByMnemonicName($dbName) возвращают объект базы по мнемоническому имени.Такой доступ сохраняет контроль модуля над подключением, режимом открытия базы и кэшем уже созданных объектов. Внешний модуль не должен подменять корневой провайдер или массив открытых баз напрямую: это может нарушить повторное использование объекта базы, режим ReadOnly и назначение индивидуального провайдера из INI базы.
Метод ParseError преобразует типовые коды ошибок ИРБИС64 в русский текст. Для ошибки формально-логического контроля -128001 дополнительно выводится список сообщений ФЛК.