powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Компарер
15 сообщений из 15, страница 1 из 1
Компарер
    #39145305
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте

Периодически при выполнении скрипта после сравнения баз выкидывает ошибку

The object of the insert update delete statement is a view for witch the requested operations is not permitted
Cannot update read-only view xxx.

Собственно повторное сравнение базы не показывает различий.
Можно это сообщение выводить не через messagebox, а в окно сообщений об ошибках выполнения скрипта.
Ну очень мешает messagebox )


Спасибо
...
Рейтинг: 0 / 0
Компарер
    #39145734
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во-первых, непонятно, причем здесь компарер.
Во-вторых, непонятно, какой именно оператор приводит к данной ошибке.
Что лечить-то?
...
Рейтинг: 0 / 0
Компарер
    #39176967
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IBExpert,

да. компарер тут не при чем ))

выскакивает сообщение. скрин в аттаче.

На каком операторе - не знаю. ибо при этом скрипт в мемо не позиционируется.

А хотелось бы просто чтобы это сообщение не выдавалось через messagebox, а выдавалось в лог ошибок выполнения скрипта.
Тк все равно повторное сравнение не выдает различий баз
...
Рейтинг: 0 / 0
Компарер
    #39176968
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
самое интересное, что похоже единожды поймав эту ошибку и выдав messagebox scriptExecute выдает это окно почти до конца выполнения скрипта. тк сейчас посмотрел если посмотреть на статус выполнения скрипта в верхней части окна - создаются триггера.
Но на том, на который выводится сообщение - почти пустой и не затрагивает никаких других объектов базы.
те типа присваивания ПК через триггер. А в тексте мессаджа указывает имя вьюхи, которой нет в текущем стейтменте создания триггера.
...
Рейтинг: 0 / 0
Компарер
    #39177135
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и если этот же получившийся скрипт выполнить по стейтментам в SQL editor отдельно - никаких сообщений об ошибках не выдается
...
Рейтинг: 0 / 0
Компарер
    #39177147
sergq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergq,

последнее снимается ) не в ту базу посмотрел )
...
Рейтинг: 0 / 0
Компарер
    #39178288
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Таки надо разобраться, когда и откуда именно эта ошибка лезет. Включай SQL-монитор и смотри.
Иначе непонятно, что и как лечить.
...
Рейтинг: 0 / 0
Компарер
    #39185266
oleg973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert 2016.2.19.1, Firebird 2.1.

1. Две базы.

В первой создаем таблицу:

CREATE TABLE TEST (
A VARCHAR(40)
);

commit;

Во второй:

CREATE TABLE TEST (
A VARCHAR(10)
);

commit;

alter table test alter column a type varchar(40);

commit;

Сравнение БД выдает скрипт:

ALTER TABLE TEST ALTER COLUMN A
TYPE VARCHAR(40);


2. Процедура ibec_CompareMetadata с опцией OmitUserGrants включает в скрипт гранты на роль для пользователей (типа GRANT ADMROLE TO IVANOV;), тогда как при запуске из меню "Сравнение БД" результирующий скрипт не содержит таких команд (что правильно).
...
Рейтинг: 0 / 0
Компарер
    #39185535
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Не понял вопроса. Компарер нашел различия. Почему он их там видит после твоего альтера - это не к нему вопрос.
2. Проверю.
...
Рейтинг: 0 / 0
Компарер
    #39185541
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2. А при запуске сравнения из окна DB Comparer какие галки включены для привилегий?
...
Рейтинг: 0 / 0
Компарер
    #39185757
oleg973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IBExpert,

1. В результате первого и второго скрипта получаются абсолютно идентичные таблицы.Почему компарер находит между ними различия?
Похоже компарер анализирует поле RDB$FIELD_SUB_TYPE в системной таблице RDB$FIELDS для полей типа VARCHAR.
Значение поля RDB$FIELD_SUB_TYPE измняется после команды alter column (сервер Firebird 2.1). После alter column в это поле заносится значение 308 (для поля типа VARCHAR). В первой БД, где не была выполнена команда alter column в поле RDB$FIELD_SUB_TYPE хранится 0.



2. Включена галка Role privileges.
...
Рейтинг: 0 / 0
Компарер
    #39186308
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
oleg9731. В результате первого и второго скрипта получаются абсолютно идентичные таблицы.Почему компарер находит между ними различия?
Похоже компарер анализирует поле RDB$FIELD_SUB_TYPE в системной таблице RDB$FIELDS для полей типа VARCHAR.
Значение поля RDB$FIELD_SUB_TYPE измняется после команды alter column (сервер Firebird 2.1). После alter column в это поле заносится значение 308 (для поля типа VARCHAR). В первой БД, где не была выполнена команда alter column в поле RDB$FIELD_SUB_TYPE хранится 0.

Да, все поля анализируются по умолчанию. Интересно, что это за 308, которое заносится при альтере...
Если полученный скрипт накатить, то на следующем проходе компарер тоже разницу находит?
...
Рейтинг: 0 / 0
Компарер
    #39186415
oleg973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, находит.

Кстати, в версии IBExpert от 2013 года, компарер разницы между одинаковыми таблицами не находит. Похоже он не анализирует поле FIELD_SUB_TYPE для полей типа VARCHAR.
...
Рейтинг: 0 / 0
Компарер
    #39186487
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Убрал анализ subtype для CHAR/VARCHAR.
2. Исправил.
...
Рейтинг: 0 / 0
Компарер
    #39188889
oleg973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо!
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / IBExpert [игнор отключен] [закрыт для гостей] / Компарер
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]