Страница 1 из 1
Перекомпиляция всех хранимых процедур
Добавлено: 16 окт 2007, 19:24
inspirion
Подскажите, в IbExpert есть такая функция - Перекомпиляция всех харнимых процедур, которая очень сильно помогает, после произведения обновлений в метаданных.
Можно ли каким то образом через компандуню строку, либо FireBird либо IbExpert выполнить туже самую операцию(Перекомпиляция всех харнимых процедур)?
Добавлено: 16 окт 2007, 20:08
WildSery
Выгрузить скрипт всей базы и запускать его.
Добавлено: 16 окт 2007, 20:10
inspirion
В базе уже есть данные, и в нее вносяться только изменения в методанные(структуру), поэтому нужно именно изменить текущую.
Re: Перекомпиляция всех хранимых процедур
Добавлено: 16 окт 2007, 22:01
Slavik
IBEScript (exe/dll/IBExpert): ibec_RecompileProcedure и ibec_RecompileTrigger
Добавлено: 22 окт 2007, 11:27
inspirion
Подскажите каким образом можно этим воспользоваться?
Это через IBScript можно использовать?
Добавлено: 22 окт 2007, 11:48
kdv
тебе же привели чем и как пользоваться.
по большому счету вызывать такие вещи из своей программы достаточно проблематично. В том смысле, что как ты будешь обрабатывать ошибку, если одна из процедур или триггеров при "перекомпиляции" выдаст ошибку?
Соответственно вопрос - а зачем тебе это надо вне IBExpert???
Добавлено: 22 окт 2007, 11:53
inspirion
Да как раз мне нужно это делать не в соей программе.
В идеале я бы хотел запускать скрипт и что бы в конце выполнялась перекомпиляция.
Вопрос:
1.Можно ли выполнить эту компбинацию из *.sql при выполнении через IbScript? или в командной строке?
2. Или ее нужно выполнять в IBExpert?
Добавлено: 22 окт 2007, 11:55
WildSery
inspirion писал(а):Это через IBScript можно использовать?
Нет.
Не путай компонент IBScript и модуль IBEScript, дополняющий и входящий в поставку IBExpert.
Добавлено: 22 окт 2007, 12:01
Slavik
inspirion писал(а):Подскажите каким образом можно этим воспользоваться?
Заходишь на сайт IBExpert в раздел документации (её можно и скачать) и изучаешь IB
EScript.
inspirion писал(а):Это через IBScript можно использовать?
Уже ответили. Но можно из своей проги вызывать IBEScript.dll, а из командного файла - IBEScript.exe.
P.S. Читай доку, экспериментируй, и будешь знать что можно, а что нельзя.
Добавлено: 22 окт 2007, 12:06
inspirion
Ок. Спасибо, буду рабираться
Добавлено: 22 окт 2007, 13:12
kdv
гм, я все-таки хочу понять, зачем тебе "перекомпиляция всего". Обычно она делается чтобы
1. перевести blr из одного диалекта в другой
2. обнаружить ошибки при перекомпиляции зависимых процедур
т.е. по любому операция предполагает интерактивное взаимодействие разработчика при обнаружении ошибки перекомпиляции.
Если перекомпиляция будет без ошибок, то зачем она нужна?
Может, ты под "перекомпиляцией" подозреваешь что-то еще?