2013-02-06 93 views
4

我試着爲Firebird構建一個UDF。我能夠編譯DLL並向數據庫註冊UDF,但我實際上無法運行它。每到這時,我得到一個錯誤:如何訪問Firebird Embedded中的UDF DLL?

invalid request BLR at offset 63. 
function [FUNCTION_NAME] is not defined. 
module name or entrypoint could not be found. 

我試圖在同一文件夾中的應用程序丟棄UDF DLL,並在同一文件夾中的數據庫,但無論哪種方式,它似乎永遠不會加載它。

當我嘗試Google搜索幫助時,我得到的所有結果似乎要麼處理通過將它放在您的服務器的UDF文件夾中使它在FB服務器上工作(這不適用,因爲我使用FB嵌入式),或者通過編輯配置文件(不適用於我使用的FB嵌入式)在FB服務器上修復權限問題。

那麼,如果我使用的是FB Embedded,那麼如何確定/配置正確的放置UDF DLL 的地方?

回答

6

我認爲默認情況下,Firebird希望UDF DLL位於名爲udf的子目錄(相對於fbembed.dll文件)中。 您可以使用UdfAccess參數通過firebird.conf文件配置UDF路徑。安裝隨附的conf文件解釋瞭如何使用該參數。另外README_embedded.txt文件包含了如何放置嵌入式服務器文件的很好的解釋。