Subject | RE: [ib-support] Re: UDF with ANSI C++ |
---|---|
Author | Thomas Steinmaurer |
Post date | 2003-03-06T07:41:22Z |
Markus,
- you have a (case-sensitive) shared object 'eq_UDF.so' in the
%Firebird%/UDF directory?
- the UDF library exports a (case-sensitive) function called
'strtrim'?
I would give it a try from scratch.
- Drop the external function from your database
- Stop Firebird
- Put the UDF library into the %Firebird%/UDF directory
- Start Firebird
- Declare the external function in your database
- Try to use it
If you took care about case-sensitivity and the location of
the UDF library (btw, have you changed the expected UDF
location in the ibconfig (Windows) resp. isc_config (Linux)
file?) and your UDF still doesn't work after doing the
above steps, then I have no other idea, perhaps it can be
a C++ export declaration thing ...
HTH,
Thomas.
> > - What InterBase version are you using?So,
> Firebird 1.0
>
> > - How was the UDF declared in your database?
> DECLARE EXTERNAL FUNCTION StrTrim
> CSTRING(255)
> RETURNS CSTRING(255)
> ENTRY_POINT 'strtrim' MODULE_NAME 'eq_UDF';
>
> > - Be aware that library names and entry points are case-sensitive
> I am! I have changed the cases several times without success. I also
> checked
> the case of the entrypoint with "nm" under linux and it had the
> correct
> case.
- you have a (case-sensitive) shared object 'eq_UDF.so' in the
%Firebird%/UDF directory?
- the UDF library exports a (case-sensitive) function called
'strtrim'?
I would give it a try from scratch.
- Drop the external function from your database
- Stop Firebird
- Put the UDF library into the %Firebird%/UDF directory
- Start Firebird
- Declare the external function in your database
- Try to use it
If you took care about case-sensitivity and the location of
the UDF library (btw, have you changed the expected UDF
location in the ibconfig (Windows) resp. isc_config (Linux)
file?) and your UDF still doesn't work after doing the
above steps, then I have no other idea, perhaps it can be
a C++ export declaration thing ...
HTH,
Thomas.