ibatis操作GBase,执行insert时,出现gcluster DML error:(GBA-02AD-0005)

ibatiis 配置sql
  1. <insert id="insertDiscountData" parameterClass="java.util.List">
  2.                 <![CDATA[
  3.                         INSERT
  4.                         INTO
  5.                                 COUNTY_ASS_CUST_FINAFEE_M_2016(
  6.                                         STAT_CYCLE
  7.                                         ,AREA_ID
  8.                                         ,MOBILE_XSSR_BILL_FEE
  9.                                         ,MOBILE_HXLL_BILL_FEE
  10.                                         ,PSTN_FINAL_ICT_FEE
  11.                                         ,OPERATOR_ID
  12.                                         ,ETL_TIME
  13.                                 ) VALUES
  14.                 ]]>
  15.                 <iterate conjunction=",">
  16.                         <![CDATA[
  17.                                 (
  18.                                         #CountyAssCustFinafeeMInfos[].statCycle:VARCHAR#
  19.                                         ,#CountyAssCustFinafeeMInfos[].areaId:VARCHAR#
  20.                                         ,#CountyAssCustFinafeeMInfos[].mobileXssrBillFee:VARCHAR#
  21.                                         ,#CountyAssCustFinafeeMInfos[].mobileHxllBillFee:VARCHAR#
  22.                                         ,#CountyAssCustFinafeeMInfos[].pstnFianlIctFee:VARCHAR#
  23.                                         ,#CountyAssCustFinafeeMInfos[].operatorId:VARCHAR#
  24.                                         ,current_timestamp
  25.                                 )
  26.                         ]]>
  27.                 </iterate>
  28.         </insert>
复制代码
Java项目中日志:
INSERT    INTO     COUNTY_ASS_CUST_FINAFEE_M_2016(      STAT_CYCLE      ,AREA_ID      ,MOBILE_XSSR_BILL_FEE      ,MOBILE_HXLL_BILL_FEE      ,PSTN_FINAL_ICT_FEE      ,OPERATOR_ID      ,ETL_TIME     ) VALUES               (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )       ,         (      ?      ,?      ,?      ,?      ,?      ,?      ,current_timestamp     )         


但是在最后提交事务时:
Could not commit JDBC transaction; nested exception is java.sql.SQLException: gcluster DML error: [192.168.3.14:5050](GBA-02AD-0005)Failed to query in gnode:
DETAIL: Can't lock table: county_ass_cust_finafee_m_2016_n1 (errno: 1)
SQL: INSERT  INTO "bi_bi"."county_ass_cust_finafee_m_2016_n1" VALUES ('201807','571',1.00,1.00,'yangmh','2018-08-08 17:49:29',1.00),('201807','574',1.00,1.00,'yangmh','2018-08-08 17:49:29',1.00),('201807','577',1.00,1.00,'yangmh','2018-08-08 17:49:29',1.00),('201807','576',1.00,1.00,'yangmh','2018-08-08 17:49:29',1.00),('201807','579',1.00,1.00,'yangmh','201


原表是county_ass_cust_finafee_m_2016 但提交事务时却却成了county_ass_cust_finafee_m_2016_n1

数据库管理工具中运行上述sql可以成功执行


1 回答

怀疑是代码中开启了事务导致,可以关闭事务试一下,或者把代码贴出来看一下
2018-8-9 14:58

撰写回答

您需要登录后才可以回帖 登录 | 立即注册

提问者

发布2
回答3

相关资料