用友U8软件中升级时提示‘将截断字符串或二进制数据’?
问题现象:在用友U8erp系统中用友U8版本号:U8软件的公共平台产品线系统管理模块出现如下问题:zt001.part1.rar,zt001.part2.rar为徐州矿务集团物资供销公司的账套输出备份分卷压缩后的生成两个文件,该账从u用友U852erp系统升级至u用友U860ERP系统时报错,请求支持。具体问题现象:升级到脚本data用友U860ERP系统_ia.sql时发生错误,错误信息:-2147217833将截断字符串或二进制数据.请帮忙解答!原因分析:一、问题现象:升级到脚本data860_ia.sql时发生错误,错误信息:-2147217833将截断字符串或二进制数据执行如下语句时出错:--明细帐数据升级脚本gp2004-4-21updateia_subsidiarysetia_subsidiary.cbatchia=rdrecords.cbatch,ia_subsidiary.dmadedateia=rdrecords.dmadedate,ia_subsidiary.imassdateia=rdrecords.imassdate,ia_subsidiary.cmassunit=rdrecords.cmassunit,ia_subsidiary.dvdateia=rdrecords.dvdate,ia_subsidiary.csaleordercode=so_somain.csocode,ia_subsidiary.isaleorderid=so_somain.,ia_subsidiary.isaleordersid=so_sodetails.autoid,ia_subsidiary.isaleorderids=so_sodetails.irowno,ia_subsidiary.cpurordercode=po_pomain.cpoid,ia_subsidiary.ipurordersid=po_podetails.,ia_subsidiary.idlsid=dispatchlists.dlid,ia_subsidiary.inum=rdrecords.inum,ia_subsidiary.cassunit=rdrecords.cassunitfromia_subsidiaryleftjoinrdrecordsonia_subsidiary.=rdrecords.autoidleftjoinrdrecordon(rdrecords.=rdrecord.andia_subsidiary.cvoutype=rdrecord.cvouchtype)leftjoinso_sodetailsonrdrecords.isodid=so_sodetails.isosidleftjoinso_somainonso_sodetails.=so_somain.leftjoinpo_podetailsonrdrecords.iposid=po_podetails.leftjoinpo_pomainonpo_podetails.poid=po_pomain.poidleftjoindispatchlistsonrdrecords.idlsid=dispatchlists.autoidwhereia_subsidiary.cvoutype='01'oria_subsidiary.cvoutype='08'oria_subsidiary.cvoutype='09'oria_subsidiary.cvoutype='10'oria_subsidiary.cvoutype='11'oria_subsidiary.cvoutype='32'go二、问题分析:‘将截断字符串或二进制数据’错误应是更新数据时,源数据非法,如类型不匹配,长度过长等原因;对update语句中的set对象,对每一个更新字段分别执行,以准确定位错误发生的具体字段位置;当单独执行updateia_subsidiarysetia_subsidiary.cpurordercode=po_pomain.cpoidfrom...时报同样错误,查询selectia_subsidiary.cpurordercode,po_pomain.cpoidfrom...orderbypo_pomain.cpoiddesc分析方向:1、检查非法字符;2、检查数据长度(selectmax(len(cpoid))frompo_pomain,返回值29);检查数据表中字段属性:ia_subsidiary.cpurordercode:varchar(20)po_pomain.cpoid:varchar(30)问题原因:采购订单中cpoid可以允许30位长,而且也存在20多位的数据记录,更新存货明细帐时,写入目标字段定长只有20,故发生‘将截断字符串或二进制数据’错误。问题2:继续升级,当升级到脚本DPRD860_ST.sql时报错;后台跟踪查询,发现执行‘过程dbd_zq’时出错,但脚本中未涉及到过程dbd_zq;故怀疑可能存在用户自行添加的触发器,查看表transvouch,存在触发器dbd_zq,对比模板库、演示帐套,均不存在该触发器。
解决方案:在用友erp 系统版本U8软件中一、解决方法:1、由于cpoid是po_pomain的主键,不可手工截断数据;2、为确保数据的延续性、一致性、正确性,考虑修改ia_subsidiary的数据结构,从表设计中将字段cpurorercode属性改为varchar(30),再执行升级。另该问题已有补丁,补丁版本:用友U860财务软件补丁日期:2004年11月25日补丁编号:1575补丁名称:DSTR用友U860财务软件_IA.sql用友U860财务软件数据升级失败,字段长度不一致(销售或采购订单号超过20位结转失败)另对1575补丁中的如下补丁也应替换到系统中(\u8soft\admin\对应的sqlfile***目录下,可通过搜索文件名查询文件对应具体路径)2005年2月23日DPRD用友U851财务软件_PU.SQL2004年12月27日DPRO用友U860财务软件_ST_PU.sql(注:该些文件涉及升级,必须替换)二、解决方法:继续升级,当升级到脚本DPRD用友U860财务软件_ST.sql时报错;后台跟踪查询,发现执行‘过程dbd_zq’时出错,但脚本中未涉及到过程dbd_zq;故怀疑可能存在用户自行添加的触发器,查看表transvouch,存在触发器dbd_zq,对比模板库、演示帐套,均不存在该触发器。删除该触发器,执行升级成功。
用友U8ERP软件免费下载地址截止2016年已发布的版本全部在下方,安装教程请认真参考:http://www.yyrjxz.com/xue/u8azjc.html 进行安装。
1、用友MERPu811软件免费下载地址:http://www.yyrjxz.com/yongyou/MERPU811.1.html
2、用友U82.0erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u8old820.html
3、用友U83.0erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u8old830.html
4、用友U852erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/U852.html
5、用友U860erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u860.html
6、用友U861erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u861xz.html
7、用友U870erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u870.html
8、用友U872erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u871.html
9、用友U82.0erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/U872.html
10、用友U890erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u890.html
11、用友U810.0erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/U810.0.html
12、用友U810.1erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/U8V10.1.html
13、用友U811.0erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/U8V11.0.html
14、用友U8+v11.1erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/U8V11.1.html
15、用友U8+v12.0erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u8120.html
16、用友U8+v12.1erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u8121.html
17、用友U8+v12.5erp软件免费下载地址:http://www.yyrjxz.com/yongyouu8/u8125.html
页:
[1]