как проверить наличие ХП в базе
как проверить наличие ХП в базе
Заранее извиняюсь, наверное вопрос ламерский и уже не раз обсуждался, но я ответа не нашел
Как построить запрос к базе на предмет проверки наличия ХП с нужным именем?
P.S. перед обращением из клиенской программы к ХП нужно проверить есть ли такая, и если нет на лету создать...
Как построить запрос к базе на предмет проверки наличия ХП с нужным именем?
P.S. перед обращением из клиенской программы к ХП нужно проверить есть ли такая, и если нет на лету создать...
-
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Re: как проверить наличие ХП в базе
А потом на лету убить того, кто придумал такую схему. Никогда и ничего нельзя в птичке создавать "на лету". Изменение метаданных - прерогатива DBA и обычно проводится в монопольном режиме.ssb777 писал(а):на лету создать...
Большое спасибо, то что надоWildSery писал(а): - select 1 from rdb$procedures where rdb$procedure_name = 'MYPROC';
IBase 6, клиентская программа на Delphi.WildSery писал(а):На выбор в зависимости от условий и версии сервера.
"на лету" - это сильно сказано, в общем после обновления версии клиенской программы, при ПЕРВОМ обращении к нужной ХП (которой скорее всего нет в базе) эта нужная ХП ОДИН ЕДИНСТВЕННЫЙ РАЗ будет создана и в дальнейшем просто будет использоваться.Dimitry Sibiryakov писал(а): А потом на лету убить того, кто придумал такую схему.
Я понимаю, что, лучше бы руками добавить ее в базу, но тут имеются сложности чисто организационного характера, клиенскую программу я по E-Mail передам и люди ее сами обновят, тут никакой квалификации особой не нужно делов то EXE файл заменить, а в базу лазить чужими руками (объясняя пользователю по телефону что и как делать) уж увольте
Передавай вместе с новой клиентской частью скрипт обновления базы с батником или в Upgrade-р зашей - сначала бакап базы, затем ее обновление - при удаче обновления БД замена клиентской частиssb777 писал(а):Большое спасибо, то что надоWildSery писал(а): - select 1 from rdb$procedures where rdb$procedure_name = 'MYPROC';
IBase 6, клиентская программа на Delphi.WildSery писал(а):На выбор в зависимости от условий и версии сервера.
"на лету" - это сильно сказано, в общем после обновления версии клиенской программы, при ПЕРВОМ обращении к нужной ХП (которой скорее всего нет в базе) эта нужная ХП ОДИН ЕДИНСТВЕННЫЙ РАЗ будет создана и в дальнейшем просто будет использоваться.Dimitry Sibiryakov писал(а): А потом на лету убить того, кто придумал такую схему.
Я понимаю, что, лучше бы руками добавить ее в базу, но тут имеются сложности чисто организационного характера, клиенскую программу я по E-Mail передам и люди ее сами обновят, тут никакой квалификации особой не нужно делов то EXE файл заменить, а в базу лазить чужими руками (объясняя пользователю по телефону что и как делать) уж увольте
Есть такая французкая поговорка (за точность не ручаюсь)stix-s писал(а):Потому что я уже привык к ответам - это менять нельзя (нехочу, не буду)!Attid писал(а): странно что никто про IBase 6 ничего не сказал.
Лучшее - враг хорошего
ну или вольный славянский вариант
Пока оно работает - НЕ ТРОГАЙ!
кстати о птичках
если не трудно можно ссылочку на описание...Attid писал(а):на сайте есть описание почему (там много глюков исправленых в птички либо в последних версиях IBasе).
Что ж ты сам не следуешь своему совету?ssb777 писал(а):Пока оно работает - НЕ ТРОГАЙ!
Эта "истина" как правило неверна. Любая штукенция нуждается в обслуживании и зачастую в доработке.
Все версии перечислены тут.
по версиям - http://ibase.ru/devinfo/allversions.htmssb777 писал(а):
кстати о птичках
если не трудно можно ссылочку на описание...Attid писал(а):на сайте есть описание почему (там много глюков исправленых в птички либо в последних версиях IBasе).
по багам - релиз ноты или в разделе Документация на данном сайте
ЗЫ
Пока писал, уже ответили