IBX, FIBPlus, UIB, ADO, .Net и прочее-прочее-прочее, в общем все, что относится к созданию приложений, работающих с InterBase, Firebird и Yaffil - клиент-серверных, трехзвенных, консольных и т.п.
Модератор: kdv
-
Solo
- Сообщения: 108
- Зарегистрирован: 18 апр 2005, 04:05
Сообщение
Solo » 19 дек 2005, 08:15
Мое приложение предусматривает запуск скриптов (один из них приведен ниже). Использую компоненты библиотеки IBO (и буду использовать!!!), в частности, IB_Script. При запуске дает ошибку, что не распознана команда DESCRIBE. Кстати, если запускаю в редакторе скриптов IB_Expert-а, тоже такую же ошибку дает. А если убираю дескрайбы переменных, то-есть стираю вообще - тогда скрипт выполняется без разговоров.
FB 1.52, D6, XP и 2000pro.
Может, описания на русском ему не нравится? У меня все win1251...
Вот скрипт:
Код: Выделить всё
SET TERM ^ ;
ALTER PROCEDURE PR_NORMA_SQUARE (
INSQUARE FLOAT,
INCHELNUM SMALLINT,
INN_PRICE FLOAT,
INPO_FAKTU DOUBLE PRECISION)
RETURNS (
OUTLGOTA DOUBLE PRECISION)
AS
begin
/*Если проживает 1 человек или никто не проживает*/
if (inchelnum <= 1) then
begin /*Если входит в соц. норму*/
if (insquare <= 33) then outlgota = :inpo_faktu/2; else outlgota = :inn_price * 16.5;
end
/*Если проживает 2 человека*/
if (inchelnum = 2) then
begin /*Если входит в соц. норму*/
if (insquare <= 42) then outlgota = :inpo_faktu/:inchelnum/2*:inn_price; else outlgota = :inn_price * 10.5;
end
/*Если проживает 3 и более человек*/
if (inchelnum >= 3) then
begin /*Если входит в соц. норму*/
if (insquare <= (:inchelnum*18)) then outlgota = :inpo_faktu/:inchelnum/2*:inn_price; else outlgota = :inn_price * 9;
end
suspend;
end
^
SET TERM ; ^
DESCRIBE PARAMETER OUTLGOTA PROCEDURE PR_NORMA_SQUARE 'Выходной параметр - величина льготы за услугу';
DESCRIBE PARAMETER INSQUARE PROCEDURE PR_NORMA_SQUARE 'Общая площадь';
DESCRIBE PARAMETER INCHELNUM PROCEDURE PR_NORMA_SQUARE 'Количество проживающих';
DESCRIBE PARAMETER INN_PRICE PROCEDURE PR_NORMA_SQUARE 'Тариф для начисления';
DESCRIBE PARAMETER INPO_FAKTU PROCEDURE PR_NORMA_SQUARE 'Фактическое начисление за услугу';
-
Dimitry Sibiryakov
- Заслуженный разработчик
- Сообщения: 1436
- Зарегистрирован: 15 сен 2005, 09:05
Сообщение
Dimitry Sibiryakov » 19 дек 2005, 09:02
Solo писал(а):При запуске дает ошибку, что не распознана команда DESCRIBE. Кстати, если запускаю в редакторе скриптов IB_Expert-а, тоже такую же ошибку дает. А если убираю дескрайбы переменных, то-есть стираю вообще - тогда скрипт выполняется без разговоров.
FB 1.52, D6, XP и 2000pro.
А почему ты думаешь что FB должно поддерживать нестандартные ораклятые расширения SQL? В FB2 есть описания, но они звучат как "COMMENT ON..."
Solo писал(а):
Может, описания на русском ему не нравится? У меня все win1251...
Не должны. IBO все-таки не Сишная библиотека чтобы русскую 'я' путать с EOF...
-
Solo
- Сообщения: 108
- Зарегистрирован: 18 апр 2005, 04:05
Сообщение
Solo » 19 дек 2005, 09:32
Dimitry Sibiryakov писал(а):
А почему ты думаешь что FB должно поддерживать нестандартные ораклятые расширения SQL? В FB2 есть описания, но они звучат как "COMMENT ON..."
***
Не должны. IBO все-таки не Сишная библиотека чтобы русскую 'я' путать с EOF...
Я, честно гря, не думаю. Стыдно признаться, но за меня IB_Express думает. Он же для interbasa-firebirda, ведь правильно? Я просто меняю код процедуры, потом нажимаю кнопу с молнией, эксперт генерит код, я его копирую и посылаю заказчику. Заодно и сам учусь Они его запускают, и скрипт "посылает их"
Ну, потом-то я просто стал удалять эти строки после тестирования...
А нельзя ли поподробнее про коммент он?

-
hvlad
- Разработчик Firebird
- Сообщения: 1244
- Зарегистрирован: 21 мар 2005, 10:48
Сообщение
hvlad » 19 дек 2005, 10:26
Solo писал(а):Я, честно гря, не думаю. Стыдно признаться, но за меня IB_Express думает. Он же для interbasa-firebirda, ведь правильно? Я просто меняю код процедуры, потом нажимаю кнопу с молнией, эксперт генерит код, я его копирую и посылаю заказчику.
DESCRIBE - это собственное расширение
IBExpert. ibescript его понимает.
Solo писал(а):А нельзя ли поподробнее про коммент он?

Релизноты читай
-
bruha
- Сообщения: 3
- Зарегистрирован: 21 фев 2006, 10:17
Сообщение
bruha » 21 фев 2006, 10:51
Была та же проблема, пока не вышел 2005й IBExpert
теперь это вот как происходит:
UPDATE RDB$RELATIONS R SET
R.RDB$DESCRIPTION = 'траляля'
WHERE (R.RDB$RELATION_NAME = 'имя_таблицы') and (r.rdb$view_source is null);