找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

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

821升级871报错

[复制链接]
发表于 2008-8-18 01:37:38 | 显示全部楼层 |阅读模式
悬赏100金币未解决
821数据升级871,其中一年度升级861时报错 。怎么解决这问题?望能写下步骤(sql语句)

报错信息如下:
数据库名: UFDATA_010_2001
E:\U8SOFT\Admin\SQLFILE8610\Main\Ufdata\Structure\Data_STR_GL_mix_NL.sql

错误信息:
-2147217900
索引 'coutno_id' 依赖于 列 'coutno_id'。

执行如下语句时出错:

--为了分销传入外部凭证号把长度从30改为50 lid 2005-3-15
alter table dbo.GL_accvouch alter column coutno_id nvarchar(50)

--摘要把长度从60改为120 xzq 2005-4-4
alter table dbo.GL_accvouch alter column cdigest nvarchar(120)

--accinfomation表增加两条记录 lid 2005-4-6

delete AccInformation Where cSysID='GL' and cname='IntKmRefFilter'--因为脚本要求可能重新执行不出错,所以加此句
Insert into AccInformation(csysid,cid,cname,ccaption,ctype,cvalue,cdefault,bvisible,benable)
values(N'GL',N'99',N'IntKmRefFilter',N'科目参照过滤',N'Integer',N'0',N'0',1,1)

delete AccInformation Where cSysID='GL' and cname='iBudgetCtlType'--因为脚本要求可能重新执行不出错,所以加此句
Insert into AccInformation(csysid,cid,cname,ccaption,ctype,cvalue,cdefault,bvisible,benable)
values('GL','100','iBudgetCtlType',N'财务分析预算控制类型','Integer','','',0,0)

--gl_qcuserdef把字段cDirec类型从nchar(2)改为nvarchar(2) xzq 2005-4-4
alter table dbo.gl_qcuserdef alter column cDirec nvarchar(2)


--增加语种字段
IF Not exists (select syscolumns.name from syscolumns inner join sysobjects on syscolumns.id=sysobjects.id where syscolumns.name='LocaleId' and sysobjects.name='GL_mybooktype')
        Alter table GL_mybooktype Add LocaleId NVARCHAR(32) NOT NULL Default('zh-CN')

升级起始时间:2008-08-16 19:25:37,结束时间:2008-08-16 19:28:51,0小时3分钟14秒。
----------------------------------------------------------------------------------------------------------------------------------------------------
开始860

结束升级860

开始收缩数据库

结束收缩数据库

861前开始关闭年度账连接

861前结束关闭年度账连接

开始打开年度账连接

结束打开年度账连接

开始升级861

需要升级861

开始调用Userdef

结束调用Userdef

升级861出错

Success = 1     Failed = 2      NoAction = 3  state值为2

升级账套:UFDATA_010_2001年度账失败,错误号: 升级SQL Server数据库。

发表于 2008-8-18 10:01:54 | 显示全部楼层
SQL语句怎么可能去写。你还是把上面的语句放在查询分析器里执行一下,看具体报错的是哪个记录,再找到对应表修改正确。
回复

使用道具 举报

 楼主| 发表于 2008-8-18 21:58:40 | 显示全部楼层
原帖由 R.R 于 2008-8-18 10:01 发表
SQL语句怎么可能去写。你还是把上面的语句放在查询分析器里执行一下,看具体报错的是哪个记录,再找到对应表修改正确。



执行第一句:
服务器: 消息 5074,级别 16,状态 8,行 1
索引 'coutno_id' 依赖于 列 'coutno_id'。
服务器: 消息 4922,级别 16,状态 1,行 1
ALTER TABLE ALTER COLUMN coutno_id 失败,因为有一个或多个对象访问此列。

对sql不熟啊
回复

使用道具 举报

发表于 2008-8-18 22:59:12 | 显示全部楼层
给楼上这位仁兄一个损招,找到ADMIN下面的升级861的SQL脚本,把你执行错误的那两句先删掉,试试,也许可以的
回复

使用道具 举报

 楼主| 发表于 2008-8-19 02:51:45 | 显示全部楼层
原帖由 cqchenyan 于 2008-8-18 22:59 发表
给楼上这位仁兄一个损招,找到ADMIN下面的升级861的SQL脚本,把你执行错误的那两句先删掉,试试,也许可以的



无效啊
回复

使用道具 举报

发表于 2008-8-19 09:03:30 | 显示全部楼层
照着他的提示改不久行了
回复

使用道具 举报

发表于 2008-8-19 10:41:24 | 显示全部楼层
先把coutno_id对应的主外键暂时去掉,执行完之后重新加上去就行了呗
回复

使用道具 举报

 楼主| 发表于 2008-8-20 23:13:21 | 显示全部楼层
原帖由 aumsny 于 2008-8-19 10:41 发表
先把coutno_id对应的主外键暂时去掉,执行完之后重新加上去就行了呗


怎么去掉?sql刚学不熟啊
回复

使用道具 举报

发表于 2008-8-21 16:40:30 | 显示全部楼层
学习一下
回复

使用道具 举报

发表于 2008-8-22 15:37:08 | 显示全部楼层
这个是提示你有数据表不符合,你先打开871看看里面的数据库,然后再升级(在升级之前,先把补丁打上)然后再升级数据库,这样就基本上不会出现错误了
回复

使用道具 举报

发表于 2008-8-23 13:34:57 | 显示全部楼层
三楼哥们的办法是不行的,以前我在821升级到852时候就遇到过,删掉那几行是不行的,当前问题是解决了,后面还会继续有更多问题,这脚本跟后面都是有问题的,
根据楼主提供的信息应该是从'coutno_id'入手解决,检查索引跟这个列的关系,具体操作要看情况而定了
回复

使用道具 举报

发表于 2009-3-9 13:54:31 | 显示全部楼层
先打开SQL,然后点开有错误那个年度的表,找到GL_accvouch 表,点开设计表,把coutno_id 长度30改为50.然后把cdigest长度60改为120,点保存.然后退出,再打开SQL,也要把查询分析器打开,然后在查询分析器里面执行UfErpAct文件,就行了.
回复

使用道具 举报

发表于 2009-3-19 00:56:58 | 显示全部楼层
821不能直接升级到871的吧。
得821先升级到852,然后先级到871
回复

使用道具 举报

发表于 2009-3-19 13:26:34 | 显示全部楼层
不懂,但是学习了!
回复

使用道具 举报

发表于 2009-3-19 16:57:36 | 显示全部楼层
我做过U8行政事业专版到U872的升级···不过是在数据库里改动一张表的取数范围
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

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

GMT+8, 2024-4-30 13:44 , Processed in 0.039595 second(s), 4 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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