НАЧАЛО >> Оглавление >> Общее описание >> История изменений >> Что нового в проекте I128 >> Версия 2026.3 >> [I128-2672] Перенести настройки провайдера данных в поля запись БД из ини файла📄 Скачать в DOCX
| Тип | Версия | Статус | Приоритет | Исполнитель |
|---|---|---|---|---|
| ⚙️ Новые возможности | 2026.3 | 🔘 Завершено |
Средний | Ilya Mikhaylenko |
Компоненты: ИРБИС 128. Модуль Admin - АРМ Администратор, ИРБИС 128. Модуль Database - Управление базами данных, ИРБИС 128. Модуль DP_EKBSON - Провайдер данных к ЭКБСОН, ИРБИС 128. Модуль DP_i128 - Провайдер данных к серверу приложений ИРБИС 128, ИРБИС 128. Модуль DP_Irbis64 - Провайдер данных к TCP/IP серверу ИРБИС 64/64+, ИРБИС 128. Модуль DP_Irbis64Direct - Провайдер данных к файлам данных ИРБИС 64/64+, ИРБИС 128. Модуль DP_Irbis64Native - Нативный провайдер данных к файлам СУБД ИРБИС 64/64+, ИРБИС 128. Модуль DP_Irbis64r - Провайдер данных к удаленному TCP/IP серверу ИРБИС 64/64+, ИРБИС 128. Модуль DP_jirb - Провайдер данных к J-ИРБИС 1.х, ИРБИС 128. Модуль DP_jirb2 - Провайдер данных к J-ИРБИС 2.0, ИРБИС 128. Модуль DP_neb - Провайдер данных к НЭБ, ИРБИС 128. Модуль DP_raidb0 - Провайдер данных логического объединения нескольких БД в одну, ИРБИС 128. Модуль DP_webirb - Провайдер данных к Web-ИРБИС 32, 64, 64+
Завершено: 17.07.2026 17:36
Ценность
Настройки провайдеров данных переносятся из секций PROVIDER в INIфайлах БД в записи системы: запись DATABASE хранит связь с конфигурацией провайдера, а параметры подключения хранятся в typedзаписях DP_
Сценарий В АРМ Администратор в настройках модуля Database доступен раздел "Конфигурации провайдеров данных" со списками конфигураций для поддерживаемых DP_* провайдеров. В карточке БД выбирается конфигурация провайдера данных, а имя БД на подключаемом сервере хранится как настройка конкретной БД. При открытии БД система собирает прежнюю runtime-секцию PROVIDER из связанной записи конфигурации и данных записи DATABASE, поэтому провайдеры продолжают работать с привычным форматом настроек.
Совместимость Старые секции PROVIDER из INI-файлов БД поддерживаются как источник первичной миграции при открытии или сохранении конкретной БД: локальный провайдер очищается без отдельной связи, остальные типы создают или переиспользуют запись конфигурации провайдера. Контракт провайдеров и формат итогового Ini сохраняются; имя удаленной БД остается настройкой конкретной БД. Массовая пакетная миграция всех БД вне сценария открытия или сохранения в эту задачу не входит.
-
I1282672 переносит настройки провайдеров данных из секции записи провайдеров PROVIDER INI БД в typedDP_<TYPE> и связывает запись DATABASE с конфигурацией через SID в 221^A. Имя БД на подключаемом сервере остается настройкой конкретной БД и хранится в 221^B, чтобы одно соединение провайдера можно было использовать в нескольких БД.
Куда смотреть:
?id=Administrator Database -> раздел Конфигурации провайдеров данных; затем открыть настройки записи БД и поле Конфигурация провайдера данных. Chrome: не подтверждено браузером в этом проходе; серверная проверка выполнена на БД IBIS64R*TEST. Было: у БД была отдельная кнопка Настройка провайдера данных, параметры сохранялись в секцию PROVIDER INI, общий выбор конфигураций DP** из карточки БД не работал. Стало: в настройках модуля Database есть открытый по умолчанию раздел с кнопками списков конфигураций провайдеров, а карточка БД хранит ссылку на typed221^B.IBIS64R*TEST связана с конфигурацией DP*IRBIS64R; удаленная БД IBIS перенесена в DATABASE:221^B. Поле выбора конфигурации провайдера ищет записи по V=DP_$ и показывает краткое описание через формат Database/providerConfigBrief.Database, запись БД IBIS64R_TEST или список конфигураций нужного модуля провайдера из раздела Конфигурации провайдеров данных.modules/Admin/Help/Databases.md и modules/Database/Help/Purpose.md; в них описаны 221^A, 221^B, typed-записи DP_<TYPE>, миграция из PROVIDER и раздел управления конфигурациями.отправлена вorigin/feature/I128IBIS64R*TEST после миграции возвращает PROVIDER.TYPE=Irbis64r, PROVIDER.DB=IBIS, provider DP*Irbis64r, GetMaxMfn()=413.Изменения по файлам:
modules/Database/api.php
221^A, удаленная БД в 221^B, typed-записи DP_<TYPE> и вычисление TYPE из поля 920.PROVIDER INI: Local удаляет секцию без ссылки, остальные типы создают или переиспользуют запись конфигурации по сигнатуре параметров соединения без DB.DBPROVIDER** / DBPROVIDERCFG**.DATABASE заменяет старую кнопку настройки провайдера на SelectRecord для 221^A и строковое поле БД на подключаемом сервере для 221^B.modules/Database/__call/AdminModuleVariablesInit.inc
Database открытый раздел Конфигурации провайдеров данных.DP_*.modules/Database/Formats/providerConfigBrief.pft128
host:port.modules/Database/__call/Open.inc
DATABASE или выполняет миграцию из секции PROVIDER.DP_<TYPE>.modules/Database/__call/FindRecords.inc
modules/Admin/Actions/SaveProviderInfo.inc
PROVIDER в INI заменено на сохранение параметров в связанную typed-запись провайдера через модуль Database.modules/Admin/__call/GetProviderConfigDatabase.inc
DATABASE, чтобы старые actionmodules/General/api.php
ManageModule теперь маршрутизирует типы записей DP_* к соответствующим модулям провайдеров через Database, чтобы typed-записи открывались своим редактором.modules/i128f/api.php
i128f применяет связанную конфигурацию провайдера до дальнейшей инициализации.modules/DP_Irbis64/api.php
DP_IRBIS64, включает список конфигураций и делегирует редактор, сохранение и индексацию общему коду Database.modules/DP_Irbis64r/api.php
DP_IRBIS64R, включает список конфигураций и делегирует редактор, сохранение и индексацию общему коду Database.modules/DP_Irbis64Direct/api.php
DP_IRBIS64DIRECT, включает список конфигураций и делегирует редактор, сохранение и индексацию общему коду Database.modules/DP_Irbis64Native/api.php
DP_IRBIS64NATIVE, включает список конфигураций и делегирует редактор, сохранение и индексацию общему коду Database.modules/DP*Irbis64Native/*_call/prvGetDbCtx.inc
modules/DP_webirb/api.php
DP_WEBIRB, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/DP_jirb/api.php
DP_JIRB, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/DP_jirb2/api.php
DP_JIRB2, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/DP_i128/api.php
DP_I128, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/DP_EKBSON/api.php
DP_EKBSON, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/DP_neb/api.php
DP_NEB, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/DP_raidb0/api.php
DP_RAIDB0, включает список конфигураций и делегирует editor/save/index общему коду Database.modules/Admin/Help/Databases.md
DP_<TYPE>, хранение SID в 221^A, удаленной БД в 221^B, миграция из INI и список параметров без отдельного TYPE.modules/Database/Help/Purpose.md
Database: открытие БД через linked provider record, миграция из PROVIDER, новые служебные поля 221^A и 221^B, раздел управления конфигурациями.