写点什么

【YashanDB 知识库】修改字段长度后,jdbc 驱动接口报 YAS-04007 Message:result set metadata changed 异常

作者:YashanDB
  • 2024-09-06
    广东
  • 本文字数:378 字

    阅读完需:约 1 分钟

问题现象

yashandb 修改表的字段长度后,客户的业务接口报 YAS-04007 异常,截图如下:


问题的风险及影响

客户的业务在访问 yashandb 时异常出错,影响使用

问题影响的版本

所有的 yashandb 版本

问题发生原因

使用 jdbc 接口获取 PreparedStatement 以后,修改表的字段长度,再用前面获取的 PreparedStatement 继续执行向 yashandb 发送请求,yashandb 就会抛出 YAS-04007 Message:result set metadata changed 异常。

解决方法及规避方式

规避方法:重启业务 java 进程

问题分析和处理过程

使用如下 ddl 在 yashandb 创建表:



使用如下的 java 代码进行问题重现:



在执行到断点处时,yasql/sqlplus 执行 alter table test modify(tname varchar2(36));


成功以后,继续执行前面 java 代码


yasdb 会有如下异常:



现网的 druid 中间件开启了 pool-prepared-statements,所以会触发这个异常。

经验总结

研发分析后保持现状。


资料文档已经配套修改:错误码 | YashanDB Doc

用户头像

YashanDB

关注

全自研国产新型大数据管理系统 2022-02-15 加入

还未添加个人简介

评论

发布
暂无评论
【YashanDB知识库】修改字段长度后,jdbc驱动接口报YAS-04007 Message:result set metadata changed异常_yashandb_YashanDB_InfoQ写作社区