当前位置: 首页 > news >正文

新乡手机网站建设电话平面设计软件下载官方网站

新乡手机网站建设电话,平面设计软件下载官方网站,动易网站风格免费下载,wordpress微博图床优点缺点问题现象 BeetISQL中间件版本:2.13.8.RELEASE 客户在调用BeetISQL提供的api向yashandb的表中执行batch insert并将返回sequence设置到传入的java bean时,报如下异常: 问题的风险及影响 影响业务流程正常执行,无法获得batch ins…

问题现象

BeetISQL中间件版本:2.13.8.RELEASE

客户在调用BeetISQL提供的api向yashandb的表中执行batch insert并将返回sequence设置到传入的java bean时,报如下异常:

问题的风险及影响

影响业务流程正常执行,无法获得batch insert所关联数据库记录设置的sequence id。

对此业务流程的解释说明:

  • 某表有两列,分别为tid(数据类型number), tname(数据类型varchar2)。其中tid不需要业务传入,其值应由另外一个yashandb的sequence自动生成。

  • 此表对应的java bean名称为TestTable,业务流程在调用batchInsert(List)时,list中的元素的tid都没有值,实际给yashandb下发的sql语句为insert into test_table(tid,tname) values(sequence.nextval, ?)。

  • batchInsert完成后,业务在遍历List时,其元素的tid已经由中间件经过jdbc提供的接口获取并设置回来了。

问题影响的版本

与yashandb版本无关

问题发生原因

beetlsql在此种batch insert情况下,prepareStatement的时候调用的是conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); 没有指定返回哪一列。

yashan jdbc驱动会返回生成的rowid(字符串类型),而java bean和数据库中表对应列(tid)是数字型,从字符串向数字型转换的时候,出了异常。

解决方法及规避方式

在batchInsert时,不返回自动生成的sequence id值 或者 升级到BeetISQL 3

问题分析和处理过程

根据现网实际表结果,在yashandb中创建测试表及sequence:

create table test_entity(tid number primary key not null,age number,name varchar2(30),create_date date
);
create sequence seq_id;

然后搭建java工程进行问题重现并打断点分析。结合关键日志:

insert into YAOWEI.TEST_ENTITY
(TID,AGE,NAME,CREATE_DATE) VALUES (seq_id.nextval,?,?,?) RETURNING ROWID INTO ?

中的returning rowid,判断出是在将rowid转换为数字的时候出的问题。

在BeetISQL 2中的规避方案就是将insertBatch中的autoDbAssignKey参数由true改为false。

BeetISQL 3中的关键源码已经修改,为conn.prepareStatement(result.jdbcSql, this.getKeyHolderCols(holder, entity.getClass()));

此时可以正常返回sequence.nextval

经验总结

如下为可直接运行的beetsql 2及3 demo:

beetlsql_demo.rar
beetlsql3_demo.rar

http://www.yayakq.cn/news/478270/

相关文章:

  • 网站闭站保护高密市赏旋网站设计有限公司
  • 西宁高端网站开发公司万峰科技.jsp网站开发四酷全书[m]
  • 网站从建设到上线流程图龙岗这边哪里有教做网站的
  • 合肥网站wordpress获取tag第一篇文章
  • 建站之星怎么收费wordpress如何获取视频封面
  • 智能响应式网站建设四川省建设厅证件查询
  • 制作h5的免费软件网站建设优化公司
  • 分享站wordpress主题国内wordpress模板
  • 兼职做ppt是哪个网站创业做软件还是做网站
  • 旅游网站建设成本核算html5网站有点
  • 精美的网站有找猎聘网站做简历优化的
  • 清河县做网站南昌哪里学做网站
  • wordpress怎样做单页网站深圳市造价信息网官网入口
  • 济南网站建设方案书深圳商标注册公司
  • 流量很大的网站wordpress手机访问排版乱
  • 陕西的网站建设公司清远市seo网站设计联系方式
  • 个性化的个人网站会员网站开发
  • 网站建设pc端js制作网页制作步骤
  • 站长之家alexa排名怎么看wordpress是用什么语言
  • 一款非常不错的seo网站优化公司源码2018年深圳建设网站公司
  • 珠海网站制作外包科研网站建设
  • 建网站的地址网站建设要学编程吗
  • 做文案策划需要看什么网站ideo设计公司官网
  • 海南行指海口网站开发批量做单页网站
  • 高端网站设计教程中国建设网官方网站硅灰
  • 个人建网站首选什么域名好微信营销手机网站模板
  • 做网站交付标准秦皇岛网站搜索优化
  • 为什么网站经常被攻击php网站后台建设
  • 如何选择一个好的网站建设公司找代理注册公司的弊端
  • jsp做网站多吗上海手机网站制作