Subject | Re: [firebird-support] rFunc UDF - linux and Windows |
---|---|
Author | Helen Borrie |
Post date | 2008-03-05T21:24:15Z |
At 04:19 AM 6/03/2008, you wrote:
1. You didn't install the rFunc library on the Linux server
or
2. You used the wrong syntax for the module name when you declared the UDF in your database originally, e.g. 'rFunc.dll' instead of 'rFunc'
or
3. You used a different case for the declaration: this doesn't matter on Windows but on Linux, file names are case-sensitive
You said that access to a ROUND function is the only reason you use the rFunc library. Why don't you use the ROUND function from fbudf? Then you would not have to worry about whether the library had multi-platform support or whether you had the right version for the particular DB engine version.
--FBUDF_API paramdsc* fbround(paramdsc* v, paramdsc* rc)
declare external function Round
int by descriptor, int by descriptor
returns parameter 2
entry_point 'fbround' module_name 'fbudf';
NB, would you please remove all the signature stuff from your postings when you post to the lists? Your name on its own is quite sufficient.
^ heLen
>I'm using rFunc UDF during development about my ERP.There would be three possible causes for this problem:
>I have a Firebird SuperServer 2.03 32bit version installed on Windows Vista
>or XP 2.03 with rfunc 2.1.3 (you can find it on
>http://rfunc.sourceforge.net/index.html )
>I develop my software using Delphi 7 with ZeosLib
>(http://zeos.firmos.at/portal.php) 6.6.2
>
>I know, I know this is an old project but I need ROUND function and only now
>Firebird have this built-in function (I use this UDF only for this
>function).
>
>Some have try to use same version of this UDF in windows and linux
>environment (RHES 5)?
>
>Only if I use firebird on linux, when I try to execute my windows program
>with an SQL with ROUND function, I receive this kind of error:
>
>SQL Error: invalid request BLR at offset 128 function ROUND is not defined
>module name or entrypoint could not be found. Error Code: -104.
>
>Someone have some idea?
1. You didn't install the rFunc library on the Linux server
or
2. You used the wrong syntax for the module name when you declared the UDF in your database originally, e.g. 'rFunc.dll' instead of 'rFunc'
or
3. You used a different case for the declaration: this doesn't matter on Windows but on Linux, file names are case-sensitive
>I have to delete this UDF from my FDB, have I?First find out *why* the error is occurring.
>In this case I have to delete all DB dependences like triggers, SPs andReally, you won't know how to proceed until you find out why you are getting this error.
>after delete my UDF function or are there some other way to procede?
You said that access to a ROUND function is the only reason you use the rFunc library. Why don't you use the ROUND function from fbudf? Then you would not have to worry about whether the library had multi-platform support or whether you had the right version for the particular DB engine version.
--FBUDF_API paramdsc* fbround(paramdsc* v, paramdsc* rc)
declare external function Round
int by descriptor, int by descriptor
returns parameter 2
entry_point 'fbround' module_name 'fbudf';
NB, would you please remove all the signature stuff from your postings when you post to the lists? Your name on its own is quite sufficient.
^ heLen