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" 

http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0005877.html

+0

谢谢,事实上这必须给予 “connection_string” 是这样的:CurrentFunctionPath = “SYSIBM”, “SYSFUN”,SANISH_SCHEMA; – Sanish 2012-01-10 06:29:32