用友股份-LE服务支持部技术方案--《Db2批量导出人员卡片抛错问题解决案例》建立日期:2013-04-01修改日期:xxxx-xx-xx文档属性:客户文控编号:LE-DY-JS-2013-00222/5文档控制创建记录审阅人姓名所属部门职位审阅签字发布人姓名所属部门发布时间日期作者所属部门邮件地址版本2013-01-01李楠V1.03目录Db2批量导出人员卡片抛错问题解决案例.........................................................................4一.系统环境..................................................................................................................4二.问题描述................................................................................................................4三.检查分析................................................................................................................4四.解决方法................................................................................................................54Db2批量导出人员卡片抛错问题解决案例一.系统环境NC56HRDB2数据库二.问题描述批量导出人员卡片时抛错三.检查分析该问题有明确的抛错信息ERRORCODE=-4470,SQLSTATE=null去IBM网站上查找对应的错误信息,大致的原因是:5IncaseofJDBCapplicationswithpurelocators,thelocatorremainsvaliduntilthetransactioniscommitted.However,withprogressivereferencesthelobcanbecomeinaccessiblesometimeaftermovingtothenextrowintheResultSet.Itmayormaynothappen-dependsonthesizeofthelob,andthenumberofrowsbufferedinthedriverbeforethenextfetchgoestotheserver有说法是说数据量大于32K就会发生四.解决方法1.在JDBC驱动力将progressiveStreaming设置为2(mode3会在驱动缓冲不足时被抛弃)2.db2setDB2_RESTRICT_DDF=true并重启数据库(fullmaterializationofblobscanbeenabledattheserverlevel)详见http://www-01.ibm.com/support/docview.wss?uid=swg21329664