找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

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

[求助] [已解决]U872数据库升级到U890报错 错误信息-2147217900

[复制链接]
发表于 2010-1-15 14:11:29 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 37213721 于 2010-1-17 11:04 编辑

日志文件记录如下:

数据库名: UFDATA_001_2010
D:\U8SOFT\Admin\SQLFILE8900\Main\Ufdata\Structure\DATA_STR_FA_MIX_NL.sql
错误信息:
-2147217900
各表中的列名必须唯一。在表 'fa_assettypes' 中多次指定了列名 'bNewAssetDepr'。
执行如下语句时出错:

If COLUMNPROPERTY(OBJECT_ID('fa_assettypes'),'sDefaultCleanUpSubjectNum','PRECISION') IS NULL
BEGIN
ALTER TABLE fa_assettypes add sDefaultCleanUpSubjectNum nvarchar (60)
ALTER TABLE fa_assettypes add bNewAssetDepr bit NOT NULL default 0
END
If COLUMNPROPERTY(OBJECT_ID('UFFA_Model_fa_assettypes_Init'),'sDefaultCleanUpSubjectNum','PRECISION') IS NULL
BEGIN
ALTER TABLE UFFA_Model_fa_assettypes_Init add sDefaultCleanUpSubjectNum nvarchar (60)
ALTER TABLE UFFA_Model_fa_assettypes_Init add bNewAssetDepr bit NOT NULL default 0
END
 楼主| 发表于 2010-1-15 20:16:03 | 显示全部楼层
请各位帮忙看如何解决这个问题,急得很!!!
发表于 2010-1-15 20:59:41 | 显示全部楼层
应该是脚本有问题,从脚本上分析按理是U870应该没有这个字段,所以升级脚本加上这个字段进行升级数据;
看情况应该是已经存在了这个字段,所以脚本里面这个增加应该不需要了;否则执行不了!
脚本的内容应该也能看明白;前面的判断条件有问题,把脚本内容拆分成两个判断就OK了!
发表于 2010-1-15 21:00:52 | 显示全部楼层
If COLUMNPROPERTY(OBJECT_ID('fa_assettypes'),'sDefaultCleanUpSubjectNum','PRECISION') IS NULL
BEGIN
ALTER TABLE fa_assettypes add sDefaultCleanUpSubjectNum nvarchar (60)
ALTER TABLE fa_assettypes add bNewAssetDepr bit NOT NULL default 0
END
拆分成:
If COLUMNPROPERTY(OBJECT_ID('fa_assettypes'),'sDefaultCleanUpSubjectNum','PRECISION') IS NULL
BEGIN
ALTER TABLE fa_assettypes add sDefaultCleanUpSubjectNum nvarchar (60)
END
If COLUMNPROPERTY(OBJECT_ID('fa_assettypes'),'bNewAssetDepr','PRECISION') IS NULL
BEGIN
ALTER TABLE fa_assettypes add bNewAssetDepr bit NOT NULL default 0
END
 楼主| 发表于 2010-1-16 17:00:04 | 显示全部楼层



这是U890数据据升级自带的,能改吗?我找了一下,居然在admin下并没有SQLFILE8900文件夹,DATA_STR_FA_MIX_NL.sql没法找到。
发表于 2010-1-16 18:40:21 | 显示全部楼层
如果脚本是自动的,唯一的办法就是把U872那个数据表的那个字段删除掉,反正脚本会自动增加,应该没有什么太大的影响!

通过SQL企业管理器,打开U872的数据库,找到数据表'fa_assettypes' 选择表设计,删除字段'bNewAssetDepr'
 楼主| 发表于 2010-1-17 11:09:07 | 显示全部楼层
已找到原因,U872打了供应链SP1后的补丁,升级到U890需打U890的CP-U890-9046-100106-FA补丁,打补丁后升级成功。
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-11-25 13:22 , Processed in 0.043614 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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