Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];

Вниз

UDF   Найти похожие ветки 

 
Belkova   (2003-05-21 14:38) [0]

Мастера Delphi! Помогите с округлением. После каждой операции с числами требуется произвести округление, почти все операции производятся на сервере. Нужно создать UDF, что и сделала, но оказалось, что для локального сервера UDF не применяется. Как быть? Проводить округление из приложения, займет очень много времени или перейти на удаленный сервер (понимая , что это глупый вопрос, но как зарегистрировать удаленный сервер?) или можно что-то еще? Заранее благодарна.


 
Zacho   (2003-05-21 14:46) [1]


> Belkova (21.05.03 14:38)

Смотри статьи и наборы UDF на http://www.ibase.ru/develop.htm и http://www.ibase.ru/d_udf.htm
И нет никакого "локального" или "удаленного" (соответственно, и "регистрировать" сервер не нужно, что-то ты путаешь) сервера, есть просто разные способы подключения, а работоспособность UDF от этого никак не зависит.


 
Belkova   (2003-05-21 22:11) [2]

Спасибо за ссылки, все посмотрела, но видимо что-то я недопонимаю. Объявляю в IB функцию след. образом,
DECLARE EXTERNAL FUNCTION ROUND_BANK
DOUBLE PRECISION
RETURNS DOUBLE PRECISION BY VALUE
ENTRY_POINT "ROUND_Bank" MODULE_NAME "SqlFloat.dll"
все проходит нормально, затем выполняю
Update Price
Set Price_R=ROUND_Bank(Price_R)
на что выдает сообщение об ошибке следующего содержания
Invalid request BLR at offset 57
function ROUND_Bank is not defined
module name or entrypoint could not be found
почему Ib не видит функцию?


 
Zacho   (2003-05-21 22:38) [3]

Насколько я помню, в IB6 UDF должны находиться только в каталоге \UDF\
И расширение dll указывать не обязательно (или вообще не нужно, не помню)
Кстати, на www.ibase.ru есть разнообразные UDF для округления


 
Belkova   (2003-05-21 23:19) [4]

Попробовала готовую UDF, скопировала файл библиотеки в каталог \UDF\ , функцию объявила таким образом:
DECLARE EXTERNAL FUNCTION UDF_FORMATFLOAT
DOUBLE PRECISION
RETURNS DECIMAL(15,2) BY VALUE
ENTRY_POINT "ib_TrueFormatFloat"
MODULE_NAME "FMTFLOAT";
Выполняю Update Price
Set Price_R=UDF_FORMATFLOAT(Price_R)
и снова та же ошибка
Invalid request BLR at offset 16
function UDF_FORMATFLOAT is not defined
module name or entrypoint could not be found
Statement: update price_u set price_r=udf_formatfloat(price_r)
Что не так?


 
Виталий Панасенко   (2003-05-22 08:32) [5]

Может, сервер перезапустить надо ?


 
Digitman   (2003-05-22 09:43) [6]

соглашения о символьной регистрочувствительности при экспорте-импорте библиотечных ф-ций соблюдены ?


 
Johnmen   (2003-05-22 09:46) [7]

Где-то что-то не так... Вариантов масса...
Обычно к нормальным библиотекам UDF сторонних разработчиков прилагаются хелпы, доки и примеры в стиле "для домохозяек". :)

А вообще изначальная проблема с необходимостью округления АБСОЛЮТНО надуманна !


 
Belkova   (2003-05-22 12:18) [8]

Соглашения о символьной регистрочувствительности соблюдены. Всем спасибо. Буду смотреть.


 
Belkova   (2003-05-22 13:09) [9]

Еще раз всем спасибо. Все работает, требовалось перезапустить сервер.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.06.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
3-34729
DedMoroz
2003-05-18 21:51
2003.06.12
Paradox


6-34951
Жорик
2003-04-10 13:21
2003.06.12
Получение информации о процессе скачивания файла!!!


11-34764
VEG
2002-09-20 20:54
2003.06.12
OCX


14-35026
Apachi
2003-05-27 09:06
2003.06.12
Сылки


14-34990
diokant
2003-05-26 10:52
2003.06.12
Подскажите как оптимизировать запрос...





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский