powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как поправить процедуру(функцию) на которую есть ссылки?
18 сообщений из 18, страница 1 из 1
Как поправить процедуру(функцию) на которую есть ссылки?
    #33763302
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Неужели нужно предварительно удалить все связанные объекты, изменить требуемый объект, а потом заново все пересоздать? Подскажите пож. путь покороче в скрипте или в GUI. В док-тации не нашел, а в TOAD c наскоку не разобрался с нужными опциями( не может понять даже тексты, проходящие в Командном центре )
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33763338
warIord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нее статус есть - валидность, если после изменений чего-то не сходится по связям - invalid state

а у BIND есть опция - "вязать пакет по-любому", т.е. даже при нарушении связей, потом приводишь в порядок свои объекты и манагер сам валидность пакета пробьет
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33763346
warIord
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нее статус есть - валидность, если после изменений чего-то не сходится по связям - invalid state

а у BIND есть опция - "вязать пакет по-любому", т.е. даже при нарушении связей, потом приводишь в порядок свои объекты и манагер сам валидность пакета пробьет
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33763642
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С валидностью я уже столкнулся, но понятиями BIND и пакета еще не овладел.
Пользуюсь DROP да CREATE.
Мне бы сейчас скриптик для примера.
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33799457
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День искал в импортном многотомье какое-то прояснение своего вопроса. Не нашел. В TOAD DB2 v1.0 freeware ничего автоматического не обнаружилось. Пока с горя сношу все сотни объектов - правлю что нужно - заново все устанавливаю. Неужели вопрос настолько тривиален, что всем кроме меня ясен?
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33799532
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаете, я зря про обещанное, но не сделанное "CREATE OR REPLACE" плакался?
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33799612
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 ValPot

Найдите QuestCentral for DB2.
Очень полезная для меня программа была.
Она (v2.1) грамотно генерировала скрипт требуемых изменений зависимых объектов.
Щас, вроде, уже новые версии вышли, как они работают - не знаю.
Но упомянутая версия мне очень помогла на DB2 v6.1, v7.2, без такой программы действительно было бы тяжело.
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33799615
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ладно. Пусть ИБМ все свалил на доп. софт. Но неужели ни у кого нет готовой функции -
( Посмотреть все зависимые - Спрятать их куда нибудь - DROP все зависимые - CREATE нужную - CREATE все зависимые ) ?
Вроде всем нужна и не сложна в реализации. Или я не вижу подвохов ?
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33799701
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
Найдите QuestCentral for DB2.
Очень полезная для меня программа была.

Начал искать. Может кто поможет, найти с ключиком?
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33800307
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Во незадача.

Скачал с сайта trial 4.9.0, а ключи везде валяются от 4.0.1. И как их гармонизировать ?
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33802173
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, должно подойти. Но лично я обычно (хотя не всегда) дропаю/пересоздаю все объекты сам. Во-первых, тот QC, с которым я имел дело, умел работать не со всеми БД-объектами, и, во-вторых, его понятия о форматировании исходников сильно не совпадают с моими. В общем, панацеи нет.
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33803157
ValPot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подошло. Форматирование исходников наверно непринципиально, т.к. оригинальный текст можно всегда брать свой. Хуже то, что команда ALTER рушится в модуле QcFormat.dll чаще чем проходит. И некому пожаловаться.
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33804527
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может проще всего было бы перебайндить все зависимые пакеты?
Дело в том, что процедура от процедуры зависеть не может. А по идее когда мы пересоздаем процедуру все родительские пакеты лежещие выше по иерархии должны стать инвалидными. Их и надо перебайндить.
Чтобы вытащить их всех, нужно знать лишь что в таблице SYSCAT.ROUTIMESCHEMA уникальным ключом является (ROUTINESCHEMA,SPECIFICNAME). Также для процедур подойдет (ROUTINESCHEMA,ROUTINENAME,PARM_COUNT) (для функций не прокатит), однако связывать с SYSCAT.ROUTINEDEP все равно придется по (ROUTINESCHEMA,SPECIFICNAME). Вобщем все упирается в написание тривиального рекурсивного запроса)) ИМХО )).
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33805450
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумал что: Дело в том, что процедура от процедуры зависеть не может. надо расшифровать.
Процедура от процедуры зависит через пакет а не напрямую.
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33805582
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но вот беда - с функциями дела обстоят "немножко" по-другому, а в заголовке темы стоит "процедуру(функцию)".
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33805809
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Victor MetelitsaНо вот беда - с функциями дела обстоят "немножко" по-другому, а в заголовке темы стоит "процедуру(функцию)".
По большому счету это ничего не меняет...)
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33807268
Victor Metelitsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну как же. Если VIEW VA ссылается на VIEW VB, и уничтожить VB, то VA становится инвалидным (причём никакой ребиндинг здесь не работает; после пересоздания VB надо создавать VA заново). Если UDF FA ссылается на UDF FB, то FB невозможно удалить, пока существует FA. Это определённо сбивает с толку, не говоря о том, что очень хотелось бы иметь CREATE OR REPLACE.
...
Рейтинг: 0 / 0
Как поправить процедуру(функцию) на которую есть ссылки?
    #33807727
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мы ведь говорили о процедурах и функциях. Я не имел в виду View. Пересвязывание пакетов поможет в том случае, если например отбросим индекс, отбросим/добавим триггер, пересоздадим функцию, процедуру. В этих случаях - поможет. ИМХО.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как поправить процедуру(функцию) на которую есть ссылки?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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