Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UDF, Проблема с вызовом функции 
:(
    Опции темы
Anark1
Дата 26.6.2007, 16:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



InterBase 7.1
Описываю функцию CEILING.

Код

DECLARE EXTERNAL FUNCTION CEILING
  DOUBLE PRECISION
RETURNS
  DOUBLE PRECISION BY VALUE
ENTRY_POINT 'IB_UDF_ceiling' MODULE_NAME 'ib_udf';


Создаю ХП, использующую моу фунцию.

Код

CREATE PROCEDURE YER (
  DAT DATE
)
RETURNS (
  YER DOUBLE PRECISION
)
AS
  DECLARE VARIABLE NOWDATE DATE;
BEGIN
  NOWDATE = CURRENT_DATE;
  YER = CEILING (NOWDATE - DAT);
END
;


И при попытке создания получаю ошибку :

Код

Invalid token.
Invalid request BLR at offset 51.
Function CEILING is not defined.
Module name or entrypoint could not be found.
Transaction rolled back.


Из ошибки видно, что проблема с модулем или входной точкой, но DLL на месте.
Синтаксис функции тоже верный, смотрел в LangRef.
В чем проблема?


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Anark1
Дата 26.6.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



Непонятно почему проблема решилась после перезагрузки среды.
Сабж закрыт.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
Deniz
Дата 27.6.2007, 04:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Вообще лучше вызывать функции так
Код

  select CEILING(NOWDATE - DAT) from rdb$database into :YER;



--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 27.6.2007, 11:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Цитата(Anark1 @  26.6.2007,  21:59 Найти цитируемый пост)
Непонятно почему проблема решилась после перезагрузки среды.
Сабж закрыт. 

у сервера есть кэш метаданных, вот пока подключен хоть один клиент, кэш метаданных не обновляется
PM MAIL   Вверх
Bose
Дата 27.6.2007, 14:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1458
Регистрация: 5.3.2005
Где: Riga, Latvia

Репутация: нет
Всего: 51



Цитата(Deniz @  27.6.2007,  04:41 Найти цитируемый пост)
Вообще лучше вызывать функции так

Чем лучше?
PM MAIL WWW Skype   Вверх
Anark1
Дата 27.6.2007, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

Репутация: нет
Всего: 11



Цитата(Deniz @ 27.6.2007,  04:41)
Вообще лучше вызывать функции так
Код

  select CEILING(NOWDATE - DAT) from rdb$database into :YER;

Это не важно, проблема была в самой функции, а именно - в модуле UDF.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0458 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.