|
Компарер
|
|||
---|---|---|---|
#18+
Здравствуйте Периодически при выполнении скрипта после сравнения баз выкидывает ошибку 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 ) Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 11:57 |
|
Компарер
|
|||
---|---|---|---|
#18+
Во-первых, непонятно, причем здесь компарер. Во-вторых, непонятно, какой именно оператор приводит к данной ошибке. Что лечить-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2016, 17:47 |
|
Компарер
|
|||
---|---|---|---|
#18+
IBExpert, да. компарер тут не при чем )) выскакивает сообщение. скрин в аттаче. На каком операторе - не знаю. ибо при этом скрипт в мемо не позиционируется. А хотелось бы просто чтобы это сообщение не выдавалось через messagebox, а выдавалось в лог ошибок выполнения скрипта. Тк все равно повторное сравнение не выдает различий баз ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 00:36 |
|
Компарер
|
|||
---|---|---|---|
#18+
самое интересное, что похоже единожды поймав эту ошибку и выдав messagebox scriptExecute выдает это окно почти до конца выполнения скрипта. тк сейчас посмотрел если посмотреть на статус выполнения скрипта в верхней части окна - создаются триггера. Но на том, на который выводится сообщение - почти пустой и не затрагивает никаких других объектов базы. те типа присваивания ПК через триггер. А в тексте мессаджа указывает имя вьюхи, которой нет в текущем стейтменте создания триггера. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 00:51 |
|
Компарер
|
|||
---|---|---|---|
#18+
и если этот же получившийся скрипт выполнить по стейтментам в SQL editor отдельно - никаких сообщений об ошибках не выдается ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 15:44 |
|
Компарер
|
|||
---|---|---|---|
#18+
sergq, последнее снимается ) не в ту базу посмотрел ) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.02.2016, 16:33 |
|
Компарер
|
|||
---|---|---|---|
#18+
Таки надо разобраться, когда и откуда именно эта ошибка лезет. Включай SQL-монитор и смотри. Иначе непонятно, что и как лечить. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.02.2016, 05:47 |
|
Компарер
|
|||
---|---|---|---|
#18+
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;), тогда как при запуске из меню "Сравнение БД" результирующий скрипт не содержит таких команд (что правильно). ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2016, 17:37 |
|
Компарер
|
|||
---|---|---|---|
#18+
1. Не понял вопроса. Компарер нашел различия. Почему он их там видит после твоего альтера - это не к нему вопрос. 2. Проверю. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2016, 06:56 |
|
Компарер
|
|||
---|---|---|---|
#18+
2. А при запуске сравнения из окна DB Comparer какие галки включены для привилегий? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2016, 07:37 |
|
Компарер
|
|||
---|---|---|---|
#18+
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. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.03.2016, 11:31 |
|
Компарер
|
|||
---|---|---|---|
#18+
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, которое заносится при альтере... Если полученный скрипт накатить, то на следующем проходе компарер тоже разницу находит? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 06:31 |
|
Компарер
|
|||
---|---|---|---|
#18+
Да, находит. Кстати, в версии IBExpert от 2013 года, компарер разницы между одинаковыми таблицами не находит. Похоже он не анализирует поле FIELD_SUB_TYPE для полей типа VARCHAR. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 14:37 |
|
Компарер
|
|||
---|---|---|---|
#18+
1. Убрал анализ subtype для CHAR/VARCHAR. 2. Исправил. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.03.2016, 17:30 |
|
|
start [/forum/topic.php?fid=42&msg=39185535&tid=1599340]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
139ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 241ms |
0 / 0 |