解决方案: |
曾经做过一个升级过程中不调整数据的补丁“data851_ap.sql”,您可以先替换原同名文件,然后重新升级; 或者对于已经升级上来的数据,如不想重新升级,您可以选择下面某种方式处理: 1、先更改850sp的帐套备份文件的.lst,将帐套号和路径中的zt+帐套号都修改为另一个不存在的帐套号(或者将备份的年度帐文件的.ba_文件用admin目录下的ufuncomp.exe解压缩成.bak文件,然后在sql的企业管理器中新建一个数据库,针对这个新建的不用的数据库进行强制还原),然后在查询分析器中执行附件中的脚本“无标题1.sql”,根据850sp中的ap_detail中的期初更改861中的ap_detail表中的期初,然后再执行附件中“科目1.sql”更改科目与原来不一致的。注意:(777为861帐套,001为850sp帐套,请根据实际情况更改语句中ufdata_777_2005,ufdata_001_2005中的帐套号和年度) update a set idamount=b.idamount,icamount=b.icamount,idamount_s=b.idamount_s,icamount_s=b.icamount_s, idamount_f=b.idamount_f,icamount_f=b.icamount_f,csign=b.csign from ufdata_777_2005..ap_detail a inner join ufdata_001_2005..ap_detail b on a.auto_id=b.auto_id and a.iperiod=b.iperiod where (isnull(a.idamount,0)<>isnull(b.idamount,0) or isnull(a.icamount,0)<>isnull(b.icamount,0)) and a.iperiod=0 update a set ccode=b.ccode from ufdata_777_2005..ap_detail a inner join ufdata_001_2005..ap_detail b on a.auto_id=b.auto_id and a.iperiod=b.iperiod where a.iperiod=0 and a.ccode is not null and b.ccode is null 2、您可以从850sp中将ap_detail表导出到access数据库中成为ap_detail1表(先在access中新建一个空的数据库,然后在850sp数据所在的sql的企业管理器的2005年帐套的表上右键选择“所有任务--导出数据”,目的选择Microsoft access,文件名参照选择新建的access数据库,然后导出ap_detail表,目的表名为ap_detail1),然后再在861数据所在的sql的企业管理中利用导入数据的功能(数据源选择Microsoft access,文件选择导出完的access数据库),将access数据库中的表ap_detail1导入到861帐套的2005年数据库中,然后在查询分析器中针对861帐套的2005年执行“无标题4.sql”,就根据850sp中的ap_detail中的期初更改了861中的ap_detail表中的期初,然后再执行附件中“科目2.sql”更改科目与原来不一致的。 update a set idamount=b.idamount,icamount=b.icamount,idamount_s=b.idamount_s, icamount_s=b.icamount_s, idamount_f=b.idamount_f,icamount_f=b.icamount_f, csign=b.csign from ap_detail a inner join ap_detail1 b on a.auto_id=b.auto_id and a.iperiod=b.iperiod where (isnull(a.idamount,0)<>isnull(b.idamount,0) or isnull(a.icamount,0)<>isnull(b.icamount,0)) and a.iperiod=0 update a set ccode=b.ccode from ap_detail a inner join ap_detail1 b on a.auto_id=b.auto_id and a.iperiod=b.iperiod where a.iperiod=0 and a.ccode is not null and b.ccode is null |