马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
本帖最后由 gxlei26 于 2012-1-5 00:00 编辑
问题描述:
客户数据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字段加上…………
最后找到问题答案,将以下语句在出问题的账套上先执行无报错后,后再升级,成功!
|