Db2 z/OS存储过程调用Package报错SQLCODE -444问题求助
Db2 z/OS SQLCODE -444 错误排查方案
本次报错的核心原因是Db2找不到外部存储过程对应的z/OS可执行负载模块(Load Module),SQLERRP返回DSNX9CAC也验证了错误发生在WLM调用外部程序的负载模块查找阶段,你调整CURRENT PACKAGESET、CURRENT PACKAGE PATH属于排查方向错误,这两个专用寄存器仅用于查找Db2包,和负载模块的查找路径无关。你可以按以下步骤排查:
- 确认
PHGS222E负载模块已正确编译链接生成,未被删除、压缩,且你配置的WLM应用环境ENVWLM的启动账号,拥有该负载模块所在数据集的读和执行权限 - 联系你的z/OS系统管理员或Db2 DBA,检查
ENVWLM对应的WLM启动PROC的STEPLIB配置,确认PHGS222E所在的数据集已经加入到STEPLIB拼接列表中,且列表靠前位置没有同名的冲突负载模块 - 检查存储过程
EXTERNAL NAME配置规则:如果你的COBOL程序绑定Db2包时指定了集合ID,你可以将EXTERNAL NAME的格式调整为集合ID.PHGS222E,注意z/OS负载模块名最大长度为8字节,你使用的PHGS222E符合长度要求 - 确认你编译生成的负载模块名是全大写的
PHGS222E,z/OS系统负载模块名默认区分大小写,小写字符会导致匹配失败 - 以上配置确认无误后,执行
VARY WLM,APPLENV=ENVWLM,REFRESH命令刷新WLM应用环境,使新配置生效并清除历史错误缓存
内容的提问来源于stack exchange,提问作者Ricardo Pinto
相关产品推荐
相关产品推荐

