我有一个共享库,其中包含一些实用程序db2过程和函数的实现(C语言)。现在,我想将db2cmd中的这些实用程序函数调用为
select epiProcLibVer() from sysibm.sysdummy1
为了将这些实用函数安装到DB2db服务器中,我将这个共享库(libDB2CLIWrapper.so
)放入了<DB2InstallFolder>/sqllib/function
中
我已经重新启动了db2instace,以便将这个库挑选并加载到db服务器的共享内存中。
尽管如此,我还是得到了以下错误@db2cmd,如下所示:
db2 => select epiproclibver() from sysibm.sysdummy1
SQL0440N No authorized routine named "EPIPROCLIBVER" of type "FUNCTION"
having compatible arguments was found. SQLSTATE=42884
现在我想知道将共享库加载到db2db服务器中是否是正确的过程?如何从sql查询访问这个共享库中的函数?
这可能是一个起点?
CREATE FUNCTION epiproclibver () RETURNS INT
EXTERNAL NAME 'libDB2CLIWrapper!epiProcLibVer'
NOT FENCED
SCRATCHPAD
VARIANT
NO EXTERNAL ACTION
LANGUAGE C PARAMETER STYLE DB2SQL NO SQL: