DB2用户定义的函数和自定义模式
DB2 user defined functions and custom schema
我使用以下命令在DB2数据库中创建一个自定义模式:
db2 create schema MYSCHEMA authorization db2user
(db2user是操作系统用户)
然后通过我的应用程序,我在这个模式中安装了一些功能,它们似乎安装得很好:
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
相关文章:
- C++映射:具有自定义类的运算符[]不起作用(总是返回0)
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- C++自定义比较函数
- 如何比较自定义类的std::变体
- std::设置自定义比较器
- 如何正确实现和访问运算符的各种自定义枚举器
- flutter:即使shouldRepaint()返回true,自定义画家也不会重新绘制
- 自定义内存管理器在发布模式下工作正常,但在调试模式下则不然
- QlineEdit:显示一个处理过的文本,而不是输入的文本,而是保留它(自定义回声模式)
- 自定义分配器仅在VS 2015中的发布模式下编译
- SDL1 -> 使用自定义屏幕模式类构建 SDL2 分辨率列表
- 模板化的使用是否为具有自定义键的unordered_map/set创建了一个良好的模式
- 使用自定义模式进行序列化,并使用Boost进行随机访问
- 与 IE 保护模式兼容的自定义工具栏
- 是否有自定义内存分配器设计模式不在其分配中存储元数据
- cd库:在推送自定义类型的派生类型时(仅在发布模式下),michael_deque会导致崩溃
- 引用自定义容器的C++观察者模式
- 具有OpenCV调试模式的自定义信号处理程序
- QT自定义鼠标事件和拖动模式
- DB2用户定义的函数和自定义模式