我有一个共享库,它包含一些实用程序db2过程和函数的实现(语言C)。现在我想将这些实用程序函数从db2cmd称为
select epiProcLibVer() from sysibm.sysdummy1
为了使这些utiliy函数安装到DB2 db服务器中,我已将此共享库(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 db server是否正确?如何从sql查询访问此共享库中的函数?
答案 0 :(得分:1)
这可能是一个起点?
CREATE FUNCTION epiproclibver () RETURNS INT
EXTERNAL NAME 'libDB2CLIWrapper!epiProcLibVer'
NOT FENCED
SCRATCHPAD
VARIANT
NO EXTERNAL ACTION
LANGUAGE C PARAMETER STYLE DB2SQL NO SQL: