2012-02-06 79 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