Subject Re: [firebird-support] Re: Hibernate 3.0 B4, Firebird 1.5.2, Jaybird for JDK 1.4
Author Helen Borrie
At 05:54 PM 28/02/2005 +0000, you wrote:

>Thanks - I found enough articles on UDF's to try executing
>ib_udf.sql from within isql.exe and now I can "show function" and
>see the definitions.

OK, that's one part done and cleared. :-)


>I've tried adding "useStandardUdf = 1" as well as "UdfAccess =
>Restrict UDF" (and "UdfAccess = Full") in firebird.conf but when
>LOWER is specified in SQL by Hibernate I keep getting:
>
>Access to UDF library "ib_udf.DLL" is denied by server administrator

UdfAccess = Full won't work at all, unless the *complete* hard path to the
library is in the function declaration. Don't do it. It makes your
databases non-transportable.

UdfAccess = Restrict is the right one to use. The argument must be a path
that the host machine recognises in its own filesystem. *If* the UDF
library is located in the directory UDF beneath the firebird root
directory, then the engine will treat the path as relative -- i.e.
UdfAccess = Restrict UDF will work, *as long as* the engine knows where its
home directory is.

As a reality check, change the setting to

UdfAccess = Restrict c:\Program Files\Firebird\Firebird_1_5\UDF

-- make sure that the '#' comment marker is removed
-- stop and restart the Firebird service to make it take effect

If that turns out to solve the problem, then the larger problem is that the
engine doesn't know where to find its home directory. This will cause
other problems as well. In that case, open a command shell, go to
Firebird's bin directory, and execute this:

instreg.exe install

Then, if you want to, go back and change the UdfAccess setting back to the
relative path.

./heLen