Subject Re: [firebird-support] UDF Function undefined
Author Exact Soft
Thank you for your kind help.

I have installed FlameRobin and registered my database there.
Through FlameRobin, connecting to my database, I open the tree under Functions, and can see 50 standard functions, among which I find ABS.
My Firebird software is installed in C:\Program Files\Firebird\Firebird_2_0; it has a sub-folder UDF containing fbudf.dll and ib_udf.dll.
Using FlameRobin, I've tried again to run the script that uses the function ABS (choosing Run a Query after right-clicking on the database name) with the same result:

SQL Message : -104
Invalid token

Engine Code : 335544343
Engine Message :
invalid request BLR at offset 77
function ABS is not defined
module name or entrypoint could not be found

I must be too clumsy, because I can't find out what's wrong.

Should I edit Firebird.conf and check any special entry in it? (All lines begin with the # symbol; maybe "Rootdirectory = " shoud be uncommented and filled?).

I will appreciate indeed any approach to solve this problem.

Once again, thank you very much.


----- Original Message -----
From: Helen Borrie
Sent: Friday, September 03, 2010 9:57 PM
Subject: Re: [firebird-support] UDF Function undefined

At 02:53 AM 4/09/2010, exactsoft wrote:
>Hi, sorry for my lack of experience with Firebird.
>I have a Database with Firebird 2.0 which has, as seen through a tool utility program such as Marathon, in its structure, a list of User Defines Functions (the standard ones, I mean) such as ABS() (absolute value).
>However, when I try to use it as in the following script:
>Select <integer field> from <Table> where ABS(<integer field>) > 100
>I always get the following error message:
>ERROR: invalid request BLR at offset 165
>ERROR: function ABS is not defined
>ERROR: module name or entrypoint could not be found
>Obviously, I get similar messages when trying to use it in my own application in Delphi 6.
>I suppose that I have made something wrong, but can't realise what it is. Is there any help you can send to me?
>Thank you very much.

You will need to use a more modern tool than Marathon, which has been dead for a very long time. To check which UDFs are declared in your database, you can either use isql (SHOW FUNCTIONS) or grab a more up-to-date GUI tool such as FlameRobin or IB_SQL.

From Firebird 1.5-onward (well after Marathon development ceased) UDF libraries moved into a default installation directory and acquired some security settings. The default location is (should be) the ..\UDF directory beneath Firebird installation root. If you are using an old database, it is fairly likely that your existing UDF declarations won't be valid any more.

If you are still assuming Firebird still works like InterBase 6, you will need to catch up on changes over the past 10 years. You can find documentation at


__________ Información de NOD32, revisión 5423 (20100904) __________

Este mensaje ha sido analizado con NOD32 antivirus system

E-mail clasificado por el Idenfificador de Spam Inteligente. Para modificar la categoría clasificada acceda a su webmail

Este mensaje ha sido verificado por el E-mail Protegido. Antivirus actualizado en 03/09/2010 / Versión: 0.96.1/11796

[Non-text portions of this message have been removed]