DB2 不指定Schema调用存储过程失败 SQLCODE=-440, SQLSTATE=42884
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,■ 现象DB2,Schema和访问DB的用户名不一致。调用存储过程时必须指定Schema,否则Error。■ 错误代码存储过程 SET SCHEMA = "QUOT"; S
千家信息网最后更新 2025年11月06日DB2 不指定Schema调用存储过程失败 SQLCODE=-440, SQLSTATE=42884
■ 现象
DB2,Schema和访问DB的用户名不一致。
调用存储过程时必须指定Schema,否则Error。
■ 错误代码
存储过程
SET SCHEMA = "QUOT"; SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","DB2INST1"; CREATE PROCEDURE COPY_TABLES (。。。。。。) BEGIN 。。。。。。 END; GRANT EXECUTE ON PROCEDURE "QUOT"."COPY_TABLES"(INTEGER, TIMESTAMP, INTEGER, INTEGER ) TO USER "DB2INST1" WITH GRANT OPTION;Mapper.xml
CALL COPY_TABLES ( #{userId, jdbcType=INTEGER, mode=IN} , #{currentTime, jdbcType=TIMESTAMP, mode=IN} , #{reasonTypeFlag, jdbcType=INTEGER, mode=IN} , #{copyReason, jdbcType=INTEGER, mode=IN} ) Mapper.java
/** * Copy Tables * * @param param the parameter */ void copyTables(Map param); Service.java
Map paramMap = new HashMap(); paramMap.put("userId", userId); paramMap.put("currentTime", currentTime); paramMap.put("reasonTypeFlag", 1); paramMap.put("copyReason", 1); Mapper.copyQuotationTables(paramMap); Tomcat context.xml
■ 正确代码
Tomcat context.xml中追加currentFunctionPath。
如果想在DB工具(如:Toda)中调用存储过程,但不指定Schema,
如:CALL COPY_TABLES(。。。。。。)
需要在创建存储过程时,指定Current Path
SET CURRENT PATH = "SYSIBM","SYSFUN","SYSPROC","SYSIBMADM","DB2INST1","QUOT";■ 原因
DB2存储过程(和函数)不受CURRENT SCHEMA控制,而是由CURRENT PATH控制。
过程
存储
代码
控制
一致
函数
原因
工具
是由
现象
用户
用户名
错误
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全的目标有哪几个
在线服务器管理工具
网络安全和信息化交流发言
关于防护网络安全的美文
数据库搜索工具
轻笔记软件开发
delphi删除数据库
网络安全技术与应用稿
河南服务器机柜型号
做中国人自己的数据库
湖南郴州学电脑软件开发
软件开发人员工资账务处理
人大金仓数据库linux使用
dz 数据库配置文件
数据库id自增好还是随机数好
衡水软件开发培训多少钱
软件开发私活怎么找
各个运营商5g网络技术区别
数据库东华理工大学
职高读网络技术好吗
数据库服务未启动什么原因
ps4老头环连不上服务器
复算销售发票上的数据库
为数据库增加文件组的语句
网络安全等保测评表
安徽web前端软件开发靠谱吗
泽思网络安全教育
教育局网络安全专项检查
绍兴手机软件开发有哪些
数据库设置了触发器怎么添加