|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册账号
×
【问题描述】
T+进行导表修复完成恢复后再升级报错:升级账套出错,详细错误:
UFTData296015_300001升级出错,错误信息:UFTData296015_300001升级脚本出错,错误信息:SQL 脚本: 16.000.000.0226
DATA_DSTR_EAP_Mix_NL-11001 出错:已在列上绑定了
DEFAULT。 无法创建约束。请参阅前面的错误消息。 在 Ufida.T.SM.Upgrade.Service.UpgradeHelper.ExecuteScript(TongVersion
version, Queue`1 upgardeItems, VersionTypeEnum product, String currentDBName,
Boolean isSaas) 在
Ufida.T.SM.Upgrade.Service.UpgradeHelper.UpgradeStruct(TongVersion version,
VersionTypeEnum product, String currentDBName) 在 Ufida.T.SM.Upgrade.Service.UpgradeService.VersionsUpgrade(UpgradeContext
context) 在
Ufida.T.SM.Upgrade.Service.UpgradeService.ExecUpgradeScript(UpgradeContext
context) 在
Ufida.T.SM.Upgrade.Service.UpgradeService.Upgrade(UpgradeContext context)![具体出错信息请参见:D:\Chanjet\TPlusPop\Appserver\server\..\logs\UFTData296015_300001_Upgrade.log![具体出错信息请参见:D:\Chanjet\TPlusPop\Appserver\server\..\logs\UFTData296015_300001_Upgrade.log
如下图所示:
【问题解决】
1、全盘搜索DATA_DSTR_EAP_Mix_NL-11001文件,找到后右键以记事本方式打开该文件,全部复制后到数据库中对相应的账套执行
2、执行出现报错,双击红色字体,自动定位至错误的表名,复制表名与列名
3、案例中表名为:EAP_DetailAtt 列名为:FileContent,将出错的表名和列明替换至下面的语句中:
declare @tablename varchar(100),@columnname
varchar(100),@tab varchar(100)
set @tablename = '表名'
set @columnname = '列名'
declare @defname varchar(100)
declare @CMD varchar(100)
select @defname = name from sysobjects so
join sysconstraints sc on so.id = sc.constid where
object_name(so.parent_obj) =@tablename and
so.xtype ='d' and sc.colid = (select colid from syscolumns
where id = object_id(@tablename) and name
=@columnname)
select @cmd = 'alter table ' + @tablename
+' drop constraint ' + @defname
if @cmd is null
print 'no default constraint to drop'
exec(@cmd)
Go
4、再次到数据库中对此账套执行以下脚本,完成后重新升级账套即可
|
|