Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
В последнее время сильно достает проблема: периодически база отказывается работать, выдавая сообщения с контекстом Invalid Statement в ответ на все (или многие) запросы. Помогает перезагрузка сервера. Однажды удалось локализовать проблему, те найти конкретную процедуру которая исполнялась нормально 1 раз после рестарта сервера, второй раз выдает ошибку. Ничего криминального Unload load между базами через файлы. Оказалось что помогает также перезапись процедуры. Проблему решили тупо - автоматической перезаписью перед каждым исполнением. Теперь проблема менее очевидна. Нечто вызывает этот сбой (той программы может уже и не быть вообще) после чего практически все update не работают с указанной диагностикой. Происходит все это на windows server 2000 разных изданий. Что делать - то ? На новые версии надежда слабая - и там есть свежие проблемы например create index на временной табле с опцией on commit delete rows очищает ее (оно конечно привели в соответсвтвие мануалу но раньше то этого не было! - ищи теперь где стрельнет) МБ Кто знает что провоцирует это безобразие? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 17:55 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
Где именно выдается ошибка? На клиента или в окно сервера? Отсоединить всех клиентов, и подключиться заново помогает? Закрывать транзакцию через rollback пробовали? Может у вас идут вложеные вызовы процедур? Оно иногда глючило с кешированием скомпилированных процедур на седьмой-восьмой версии. Можно еще попробовать менять размер доступного кэша. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2005, 19:28 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
Версия 9.02.2542 Вложенных вызовов процедур сколько угодно но конкретно например, может отрабатывать с ошибкой такой триггер ALTER TRIGGER "k_mvar_upd_journal" after update of "value" order 99 on "DBA"."mvar" referencing old as old_val new as new_val for each row BEGIN if (isnull(new_val."value", '')<>isnull(old_val."value", '')) then insert into journal (table_name, field_name, new_value, oper_type, date_time, id_string, "cuser") values ('mvar', 'value', new_val."value", 2, now(), new_val.codmvar, @in_cuser); end if; END При этом единовременно может не работать и все остальное Отсоединять не пробовал ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 18:24 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
О! @in_cuser, это ж собственная глобальная переменная как я понимаю? Может она по каким-то причинам в этот момент не существует? Она существовала в момент первого срабатывания триггера, сервер скомпилировал триггер в кеш с учетом существующей переменной. Потом что-то произошло, переменная исчезла и теперь триггер просто обязан падать с указаной ошибкой. А вот если переменная была убита и создана заново, вот тут я честно говоря не уверен, триггер может подхватить новую одноименную переменную, а может и не сможет.... В общем, я в первую очередь попробовал бы избавится от использования внешних по отношению к триггеру переменных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2005, 18:45 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
Сталкивался со следующим 9.0.2.3137 : была таблица с полем change_time datetime; которое before insert,update тригер выставлял в now(). из централа убиваем поле, после этого добавляем еще несколько естественно NULL (есть немножко данных), и опять добавляем тоже поле. теперь пытаюсь ручками поставить нужные данные - имею : variable change_time exists. (в работе тригера) убиваю статистику по таблице - не помогает. пробую тоже из isqlс - опять ошибка. полностью выгружаем централ, isqlс. из isqlс конектимся - 80% update проходит, но пару раз пришлось и сервер рестартовать. при работе c 8,9 на 7(3.2) централе такого небыло. правда в 9-ке 3 централом и тригеров не поправишь (процедуры пока можно) - в результате работаю через isqlc в связке с MultiEdit, а в централом пользуюсь 99% для просмотра. Удачи ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2005, 16:49 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
L0cat0r, а чем было обусловлено использование тригера вместо default timestamp на поле? осталось со старого проекта? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.07.2005, 18:48 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
Рыжий КотL0cat0r, а чем было обусловлено использование тригера вместо default timestamp на поле? осталось со старого проекта? именно так (еще с 5.5.05) - все сразу не перепишешь ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 13:47 |
|
||
|
ASA 8 - 9.02.2542 Invalid Statement Help!
|
|||
|---|---|---|---|
|
#18+
Переменные здесь не причем - они всегда создаются при коннекте и слишком широко используются чтобы отрезать. А до этого стабильно сыпалась процедура где никаких переменных не было А вот когда-то например налетал на следущее ставлю Set Aydit on и аварийное завершение для сервера. Так что вопрос собственно в том, нет ли какой опции или криминальной команды глобально провоцирующей этот самый Invalid Statement Я это для себя понимаю так что у сервера крыша едет и скомпилированные ранее процедуры и триггеры более не работают, НО В ЧЕМ ПРИЧИНА -ТО? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2005, 20:07 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=33194320&tid=2013495]: |
0ms |
get settings: |
9ms |
get forum list: |
23ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
| others: | 224ms |
| total: | 360ms |

| 0 / 0 |
