Страница 1 из 1
Проблема удаления процедуры
Добавлено: 21 сен 2006, 06:17
cav
Имеется 2 процедуры T1 и T2 (база не моя) из T1 вызывается T2. Системой обновления была изменена T2. Проблемма в том что изменилось число входный и выходных параметров. T1 не менялась. В результате получился невостановимый backup. Разработчики базы сказали что в принцыпе T1 не используется и ее можно закоментировать. Операция ищменения тела процедуры не удалась
invalid request BRL at offset 116
Попытка удалить процедуру T1 тоже не удалась (drop procedure )
Что можно сделать еще для удаления ? T2 перекомпилируется без ошибок.
Добавлено: 21 сен 2006, 06:52
CyberMax
Проверь в IBExpert, может, кто еще использует T2. По идее перекомпиляция T1 (с закомментированным телом процедуры) должна была дать положительный результат.
Добавлено: 21 сен 2006, 06:59
cav
CyberMax писал(а):Проверь в IBExpert, может, кто еще использует T2. По идее перекомпиляция T1 (с закомментированным телом процедуры) должна была дать положительный результат.
Использует но там все нормально т.е. компиляция проходих успешно.
В общем плане выглядит так:
T2 используется T1 и Т3. T1 не используется больше нигде. (т.к. конечная на цепочке T1>T2)
Добавлено: 21 сен 2006, 10:13
kdv
Добавлено: 21 сен 2006, 11:05
cav
СПАСИБО !!!! Помогло.
Забыл указать что сервер был IB 7.5 SP 1
Добавлено: 16 окт 2006, 17:13
wolverine
Тоже не могу удалить процедуру.
FB1.5
пишу DROP PROCEDURE OS_ALL_COMPANY_OPERATIONS_2
в ответ получаю:
Из эксперта
Невозможно подтвердить транзакцию:
This operation is not defined for system tables.
unsuccessful metadata update.
cannot delete.
PROCEDURE OS_ALL_COMPANY_OPERATIONS_2.
there are 1 dependencies.
а из isql:
Statement failed, SQLCODE = -607
unsuccessful metadata update
-cannot delete
-PROCEDURE OS_ALL_COMPANY_OPERATIONS_2
-there are 1 dependencies
Как удалить?? Выше описанный метод пробывал не помогло.
Добавлено: 16 окт 2006, 20:05
Merlin
Вместо того, чтоб "пробывать" всяку хаку, предназначенную для выбраться из угла, в который сам себя загнал, в данной совершенно рутинной рабочей ситуации надо просто посмотреть зависимости (какая процедура, триггер или не дай бог computed column или чек к ней обращается) и убрать оттуда это обращение.