DB2用户自定义函数和自定义模式
问题描述:
我使用下面的命令在我的DB2数据库中创建一个自定义模式:DB2用户自定义函数和自定义模式
db2 create schema MYSCHEMA authorization db2user
(DB2USER是OS用户)
然后通过我的应用程序安装一些功能这个模式,他们似乎正确安装:
db2 => select substr(funcschema,1,12)as funcs, substr(funcname,1,30) as func from syscat.functions where funcschema='MYSCHEMA' order by 1,2
FUNCS FUNC
------------ ------------------------------
MYSCHEMA NUMCAST
MYSCHEMA NUMSORT
2 record(s) selected.
但是,必须使用这些函数的查询失败。
SQL0440N No authorized routine named "NUMCAST" of type "FUNCTION" having compatible arguments was found.
我用下面的API连接。自定义架构名称在connection_string
可变
retcode = SQLDriverConnect(pDbConnectionHandle->g_hDbc, NULL, connection_string, SQL_NTS, NULL, 0, NULL, SQL_DRIVER_NOPROMPT);
指定的同一个应用程序在模式创建一个表,但安装在架构NUMCAST
功能无法识别。你能告诉这里缺少什么吗?
答
您需要设置CURRENT PATH
特殊注册以包含您的模式。发出像DB2命令:
SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","myschema"
谢谢,事实上这必须给予 “connection_string” 是这样的:CurrentFunctionPath = “SYSIBM”, “SYSFUN”,SANISH_SCHEMA; – Sanish 2012-01-10 06:29:32