Closed yoannawx closed 4 months ago
Странно запрос правильный. А какой там сервер firebird?
да, не FB3, a FB2.5
На нем это вообще не должно выполняться... Проверка версий FB должна быть
Там есть проверка на версию при загрузке ексепшинов и гранты раздаются только, если версия >= 3
Если есть почему под 2.5 выполняется, надо проверить
Я проверил. У меня на той же базе тоже ПИ, что и у @yoannawx загрузка ПИ отработала (версия вернулась 2). Как мне поймать этот баг?
а как вы версию определяете?
procedure AddGrant; begin //Для FB версии >= 3 нужны гранты на EXCEPTION if Active and (not IsEmpty) and (Database.ServerMajorVersion >= 3) then S.Add('GRANT USAGE ON EXCEPTION ' + FirebirdObjectName + ' TO ADMINISTRATOR'); end;
TgdcException.GetMetadataScrip
Отловила, как получается ошибка. Работала на базе под ФБ3. Сделала База данных - Отключиться. Потом База данных - Подключиться и подключилась к другой базе, которая под ФБ 2.5. И вот в этом случае получила ошибку при установке пи.
Для корректной работы при переключении между БД, если версия ФБ была 2.5, а хотите подключиться к 3+ лучше переоткрыть Гедемин.
”Для корректной работы при переключении между БД, если версия ФБ была 2.5, а хотите подключиться к 3+ лучше переоткрыть Гедемин.”
Как в данной ситуации и ряде других надежнее выполнять закрытие программы и новое подключение к базе данных. Варианты переподключения и прочие (может быть их убрать вовсе) могут не давать должного эффекта.
@Polfath это ошибка у нас. не сбрасываются какие-то закэшированные переменные.
Мы нашли место. Оно IBDatabase. Там один раз считывается версия firebird. Надо лезть внутрь его, а зачем? Там все переменные ReadOnly один раз инициализируются. Я думаю, что нет смысла, в этом копаться
Сделал
Ошибка из-за неверного синтаксиса скл-запроса. ехе от 02.07.24