找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 8890|回复: 4

[求助] T6升级U890错误

[复制链接]
发表于 2011-11-24 00:08:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
T6升级到U890提示
开始升级UFDATA_001_2006
升级812
升级812 OVER
升级813
升级820
升级820OVER
升级820a
升级820a OVER
升级820b
升级820b OVER
升级820c
升级820c OVER
升级821new
升级821new OVER
升级821a
升级821a OVER
升级升级850
升级850 OVER
升级8501
升级8501 OVER
升级8510
升级8510 OVER
开始852
需要升级852
结束升级852
开始收缩数据库
结束收缩数据库
开始860
需要升级860
升级860错误
Success = 1     Failed = 2      NoAction = 3  state值为2
升级账套:UFDATA_001_2006年度账失败,错误号: 升级SQL Server数据库。
结束升级UFDATA_001_2006
退出UpdateOneDB :
UFDATA_001_2006: 升级失败!

 楼主| 发表于 2011-11-24 00:57:02 | 显示全部楼层
860[Main]升级

关闭了系统数据库连接

重新打开了系统数据库连接

开始读取升级列表

结束读取升级列表

开始事务

数据库名: UFDATA_001_2006
D:\U8SOFT\Admin\SQLFILE8600\Main\Ufdata\DSTR860_Public.sql
错误信息:
-2147217900
对象 'PersonMSG_PK' 依赖于 列 'cPersonCode'。

执行如下语句时出错:

--===========郑芸部分(End)======================

--===========侯玉保部分(Begin)======================
--业务员(Person)
if ((select length from syscolumns where id=OBJECT_ID('Person') and name='cPersonCode')<20)
begin
   declare @fConst varchar (100)
   declare @fTbl varchar (100),@fCol varchar (100)
   declare @rTbl varchar (100),@rCol varchar (100)
   select object_name(constid) as col1,object_name(fkeyid) as col2,object_name(rkeyid) as col3,
                col_name(fkeyid,fkey) as col4,col_name(rkeyid,rkey) as col5
                into tempdb..tblfkey
                from sysforeignkeys
                where object_name(rkeyid)='Person' and col_name(rkeyid,rkey)='cPersonCode'
   declare Rst cursor for select * from tempdb..tblfkey
   --删除关系并改变长度
   open Rst
      fetch next from Rst into @fConst, @fTbl, @rTbl, @fCol,@rCol
   while @@fetch_status=0
      begin
         exec ('ALTER TABLE ' + @fTbl + ' Drop Constraint ' + @fConst)
         exec ('ALTER TABLE ' + @fTbl + ' alter column ' + @fCol + ' varchar(20) NULL')
         fetch next from Rst into @fConst, @fTbl, @rTbl, @fCol,@rCol
      end
   ALTER TABLE Person alter column cPersonCode varchar(20) NOT NULL
   close Rst
   --恢复原来的关系
   open Rst
      fetch next from Rst into @fConst, @fTbl, @rTbl, @fCol,@rCol
   while @@fetch_status=0
      begin
         print @fConst
         exec ('ALTER TABLE ' + @fTbl + ' ADD
             CONSTRAINT ' + @fConst + ' FOREIGN KEY
             ( ' +
                  @fCol
                + ') REFERENCES ' + @rTbl + ' ( ' +
                  @rCol
              + ')')

         fetch next from Rst into @fConst, @fTbl, @rTbl, @fCol,@rCol
      end
   close Rst
   DEALLOCATE Rst
   drop table tempdb..tblfkey
end



效率测试报告:开始升级UFDATA_001_2006数据库

Update_DelRepeat.sql,2011-11-24 0:51:22 -- 2011-11-24 0:51:23,0小时0分钟1秒。

    升级起始时间:2011-11-24 0:51:22,结束时间:2011-11-24 0:51:25,0小时0分钟3秒。
发表于 2011-11-24 10:05:45 | 显示全部楼层
看下person表中是否有cPersonCode字段
 楼主| 发表于 2011-11-24 10:26:57 | 显示全部楼层
找到问题了 数据库中多了个PersonMSG表 删掉就可以升级成功了 不知道数据有没有问题
发表于 2011-11-24 10:47:08 | 显示全部楼层
谢谢分享经验。学习勒。
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-6-3 18:56 , Processed in 0.032064 second(s), 9 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表