irpas技术客

DB2 SQL Error: SQLCODE=-302, SQLSTATE=22001, SQLERRMC=null_没有昵称_000_sqlcode=-302

未知 6479

常见原因:sql中要更新的某个字段的长度超过了数据库表中字段的定义长度。

笔者遇到的场景是一个select查询sql报该错,所以排出了是值长度超过字段定义的长度

解决方案:设置环境变量DB2_DEFERRED_PREPARE_SEMANTICS=YES 通过将 DB2_DEFERRED_PREPARE_SEMANTICS 注册表变量设置为 YES 来启用延迟准备支持,如下所示: db2set DB2_DEFERRED_PREPARE_SEMANTICS=YES 如果将 DB2_COMPATIBILITY_VECTOR 注册表变量设置为 ORA 并且未设置 DB2_DEFERRED_PREPARE_SEMANTICS 注册表变量,那么将在 SBCS 或 Unicode 数据库环境中使用缺省值 YES。 处于 DBCS 环境中时,缺省值为 YES_DBCS_GRAPHIC_TO_CHAR。 文件注册表(DB2 Profile Registries) ,它的存在,能影响到DB2的运行环境配置,是基本的DB2

附:已有参数查看: 查看被设置的全部db2注册表变量 db2set -all 查看全都受支持的注册表变量列表 db2set -lr

清空参数: 参数值为空就行了. db2set 参数名=

注意??:文件注册表的参数都要重启DB2服务器和DB2应用程序后才能生效


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #sqlcode302 #DB2 #SQL #error #SQLSTATE22001