t3到890升级到U810.1解决方法

分享到:

2014-02-18 17:17:15

客户数据005账套年度从2005年——2011年度,所有年度都已经升级到890 sp1版本(从T3到852之后升级上来的,没报任何错误),但是在进行U890升级U810.1的过程中,2011年顺利升级至U810.4,而2011年之前(这些数据是在T3的时候有的)始终不能从890升级上来。

报错大致如下:
-------------------------------------------------
报错1:
数据库名: UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\DATA_STR_FA_MIX_NL.sql
错误信息:
-2147217865
对象名 'dbo.Fa_GetLoginYear' 无效。
-------------------------------------------------
报错2:
数据库名: UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\DATA_STR_FA_MIX_NL.sql
错误信息:
-2147217900
列名 'iyear' 无效。
执行如下语句时出错:

CREATE  PROCEDURE [dbo].[WA_iniTaxBBFormat]
(
       @cgzgradenum varchar(3),
       @iyear int
)
AS

BEGIN
-------------------------------------------------
报错2:
数据库名: UFDATA_005_2010
d:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\data_str_wa_mix_nl.sql
错误信息:
-2147217873
不能将值 NULL 插入列 'iYear',表 'UFDATA_005_2010.dbo.WA_Bank_Set';列不允许有空值。UPDATE 失败。

数据库名:UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\data_str_hm_mix_nl.sql
错误信息:
-2147217900
列名'dEmployDate' 无效。
报错4:
数据库名: UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\Data_STR_GL_mix_NL.sql
错误信息:
-2147217865
对象名 'U8LoginProcess' 无效。
执行如下语句时出错:
CREATE VIEW gl_v_exch AS 
  SELECT * From exch where iYear=(select top 1 iYear from U8LoginProcessa inner join master..sysprocesses b 
   on a.cStation=b.hostname and a.cProcessId=b.hostprocess where b.spid=@@spid and (cSub_id='DP'))
-------------------------------------------------
报错4:
数据库名: UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\data_str_sa_mix_nl.sql
错误信息:
-2147217900
对象 'FK__ExpenseVo__cInvC__73D00A73' 依赖于 列 'cInvCode'。
-------------------------------------------------
报错5:
数据库名: UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\Data_STR_ST_mix_NL.sql
错误信息:
-2147217900
对象 'FK__TransVouc__cInvC__0AB36FCB' 依赖于 列 'cinvcode'。
执行如下语句时出错:
---------改存货编码
if exists (select name from syscolumns where id=object_id('transvouchs') andname=N'cinvcode')
begin 
alter table transvouchs alter column cinvcode nvarchar(60) NOT NULL
end
alter table transvouchs alter column invcode nvarchar(60)  NULL
alter table transvouch alter column cPSPCode nvarchar(60) null
-------------------------------------------------
报错6:
数据库名: UFDATA_005_2010
D:\U8SOFT\Admin\SQLFILE10000\Main\Ufdata\Structure\Data_STR_PU_mix_NL.sql
错误信息:
-2147217900
对象 'PuAppVouchs_Inventory' 依赖于 列 'cinvcode'。
执行如下语句时出错:
alter table PU_AppVouchs alter column cinvcode   nvarchar(60)  not Null
alter table pu_veninvverifyd alter column cinvcode nvarchar(60) not Null
alter table PU_T_VMIUsedVouchs alter column cinvcode nvarchar(60) not Null
alter table PurBillVouchs alter column cinvcode nvarchar(60) not Null
alter table PU_ArrivalVouchs alter column cinvcode nvarchar(60) not Null
alter table pu_pricejustdetail alter column cinvcode nvarchar(60) not Null
alter table ven_inv_price alter column cinvcode nvarchar(60) not Null
alter table pupricejust alter column cinvcode nvarchar(60) not Null
--修改项目
alter table PU_AppVouchs alter column citemcode   nvarchar(60)  Null
alter table PU_T_VMIUsedVouchs alter column citemcode nvarchar(60) Null
alter table PurBillVouchs alter column citemcode nvarchar(60) Null
alter table PU_ArrivalVouchs alter column citemcode nvarchar(60) Null
alter table po_podetails alter column citemcode nvarchar(60)  Null
-------------------------------------------------
解决过程:
1.开始以为是10.1的问题,重新安装810的软件升级,同样报错,重新安回890打补丁,再升,也是一样报错,

2.在810.1上长级,将以上的错误对应一一修改,当把上述问题处理之后,再升级仍无休止报错!
3.之后想到为什么11年的数据可以升级,之前的不能升,原因11年是在890建立的年度账,之前的是在T3,用数据库对比修复工具,进行修复完毕,依然报错,
4.经过以上处理后,开始找原因,
如报IYEAR错误,对比了11年和10年对应的表,同样的表都是没有这个字段的,软件升级的时候都是执行同样的脚本,将IYEAR字段加上…………

最后找到问题答案,将以下语句在出问题的账套上先执行无报错后,后再升级,成功!

没法上传附件,晕,要的站内发信息给我吧!


声明:此篇为用友服务中心文章,转载请标明出处链接:
  • 相关文章
  • 热门下载
  • 数据修复
  • 热门标签
合作伙伴