2012-02-06 71 views
0

我有一個共享庫,它包含某些實用程序db2過程和函數的實現(語言C)。現在,我想從DB2CMD作爲調用這些實用功能,將動態共享庫加載到db2服務器中

select epiProcLibVer() from sysibm.sysdummy1

要安裝到DB2數據庫服務器這這些utiliy功能,我已經把這個共享庫(libDB2CLIWrapper.so)到<DB2InstallFolder>/sqllib/function

我有重新啓動db2 instace以挑選並將此庫加載到數據庫服務器的共享內存中。

我仍提示以下錯誤:@ DB2 CMD如下:

db2 => select epiproclibver() from sysibm.sysdummy1 SQL0440N No authorized routine named "EPIPROCLIBVER" of type "FUNCTION" having compatible arguments was found. SQLSTATE=42884

現在我想知道是否是正確的程序,使共享庫加載到DB2數據庫服務器?如何從sql查詢訪問這個共享庫中的函數?

回答

1

這可能是一個起點嗎?

CREATE FUNCTION epiproclibver() RETURNS INT 
    EXTERNAL NAME 'libDB2CLIWrapper!epiProcLibVer' 
    NOT FENCED 
    SCRATCHPAD 
    VARIANT 
    NO EXTERNAL ACTION 
    LANGUAGE C PARAMETER STYLE DB2SQL NO SQL: 
+0

感謝彼得,現在的工作。 – vchitta 2012-02-07 05:50:35