最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

通10.1升级U810.1出现的错误及解决方法

IT圈 admin 33浏览 0评论

2024年5月9日发(作者:合听云)

通10.1升级U810.1出现的错误及解决方

用友通10.1升级U8普及版流程

一、用友通系统管理中的备份或输出U8功能,将输出。

二、把备份出来的帐套文件用记事本打开,把其中的VersionEx=tong10.1

修改成VersionEx=8.520,然后保存

三、卸载用友通10.1,注意要同时删除掉C:windowssystem32 UFCOMSQL文件夹,重启电脑。在安装

用友普及版的时候,注意不要覆盖当前的系统数据库,然后把刚才修改过的帐套文件引入到U8普及版

中。

四、这个时候还不能进入账套,数据库需要升级,到系统管理的系统菜单中升级SQL server数据,会出

现数据升级错误,就需要修改后台的数据结构,需要修改结构的表有

bank表,vendor表,dispatchlists表,endispatchs表,po_podetails表,purbillvouchs表,salebillvouchs表,

so_sodetails表,

修改方法是:

在dispatchlists表,endispatchs表,po_podetails表,purbillvouchs表,salebillvouchs表, so_sodetails

表,增加cfree3到cfree10列,bank表修改cbaccount长度为30,不为空,修改vendor表中的cvenabbname

列长度为30,不为空,还有就是把cvenaccount列的长度修改为20,cvenbp列的长度修改为20,

增加前几个表的数据列的SQL语句:

ALTER TABLE 需要修改的表名

add cfree3 VARCHAR(20),cfree4 VARCHAR(20),cfree5 VARCHAR(20),cfree6 VARCHAR(20),

cfree7 VARCHAR(20),cfree8 VARCHAR(20),cfree9 VARCHAR(20),cfree10 VARCHAR(20)

5)再次进入系统管理进行SQL server数据升级即可。、

用友通标准版10.3升级U8

升级是从用友通10.3先升U852,再升U860,最后升U890;使用sqlserver2000数据库,

混合模式验证身份,SA密码空。

一、用友通10.3升U852:

1、用友通系统管理中输出(不是备份)账套,有两个文件;

2、用记事本打开其中文件,修改VersionEx=tong10.3为

VersionEx=8.52;

3、彻底卸载用友通,最好是干净的系统安装U852,重启,不覆盖当前系统

数据库,任意新建一个账套,注意编号不能与要升级的账套相同,导入要升级的账套

4、用sqlserver2000企业管理器打开数据库,找到要升级的年度账套;

5、删除AA_CoLumnDic表,再从新建账套中导入该表,打开表返回所有行,

清空数据;这个表U810.1里没有,852里有。所以要是直接升U810.1,那这个表没有地

方复制,需要一个852的备份引入10.1里,或者升级完852,再用852的备份升U810.1

6、找到AP_InputCode和VouCherNumber表,打开表返回所有行,清空数据;

7、选中Bank表设计,改cBName字段长100,不允许空,改cBAccount字段长

50,不允许空;

8、选中LockVouch表设计,改ID字段长40,不允许空;

9、选中person表设计,改cPersonName字段长20,不允许空;

10、选中vendor表设计,改cVenAbbname字段长60,不允许空,改cVenAccount字段

长20,允许空,改cVenBP字段长20,允许空;

11、选中WA_psn表设计,改cPsn_Name字段长40,不允许空;

12、打开SQL查询分析器,将下列代码复制粘贴运行,作用是对6个相关表增加数据

列:

alter table dispatchlists

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table endispatchs

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table po_podetails

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table purbillvouchs

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table salebillvouchs

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table so_sodetails

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

以上4至12步,有几年的数据账套就要做几次。

13、进入U8系统管理在系统菜单下,点击升级SQLServer数据,选中相关年份账套

升级到U852。

二、U852升级U860

E:U8SOFTAdminSQLFILE8600MainUfdataDSTR860_

错误信息:

-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

blfkey

from sysforeignkeys

where object_name(rkeyid)='Person' and col_name(rkeyid,rkey)='cPersonCode'

declare Rst cursor for select * blfkey

--删除关系并改变长度

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 blfkey

end

这个错误按下边的第三步改,改完后再升级,会出现列名不明确的错误。

数据库名: UFDATA_222_2008

D:U8SOFTAdminSQLFILE8610MainUfdatadataNLData_Upda_OM_mix_

错误信息:

-2147217900

列名 'iRDsID' 不明确。

执行如下语句时出错:

--必须执行的脚本策略相关

select irdsid, count(irdsid) as settlecount into #BillSettleCount from (select distinct ,irdsid

from PurSettleVouch inner join PurSettleVouchs on = inner join

PurBillVouchs ON = AND l=0) A group by irdsid

update rdrecords set iBillSettleCount=isnull(billsettlecount,0) from (select

,sum(#count) as billsettlecount from #BillSettleCount inner join

OM_MatSettleVouchs A on # = and type=N'01' inner join

OM_MatSettleVouchs B on = and type=N'11' group by ) C inner join rdrecords

on =

drop table #BillSettleCount

解决方法:修改脚本X:U8SOFTADMINadminsql

file8610MainUFDataDataNL下的Data_Upda_OM_mix_NL文件和

X:U8SOFTADMINadminsql

file8610MainUFDataDataDP下的Data_DP_OM_MIX_NL文件。

将第一个from之前的irdsid改为 (即明确指定)再次分析就是 A group by irdsid 处的

irdsid不明确改为即可,

升级U810.1成功

1、从U852输出账套文件;

2、卸载U852正确安装U860,导入账套;

3、在SQLServer企业管理器中修改表JustInVouch中的cPersonCode字段长度

为20,允许空(每个年度账套做一次);需要出错后再来改这个字段,要是先在852里改了,升不上去。

4、 进入U860系统管理,点击升级SQLServer数据,选中账套升级到U860(约

10分钟升级一个年度账套)。

三、U860升级U890

做过一个U860空账套直接升级,不需要作任何修改,只是时间要两个多小时。

2024年5月9日发(作者:合听云)

通10.1升级U810.1出现的错误及解决方

用友通10.1升级U8普及版流程

一、用友通系统管理中的备份或输出U8功能,将输出。

二、把备份出来的帐套文件用记事本打开,把其中的VersionEx=tong10.1

修改成VersionEx=8.520,然后保存

三、卸载用友通10.1,注意要同时删除掉C:windowssystem32 UFCOMSQL文件夹,重启电脑。在安装

用友普及版的时候,注意不要覆盖当前的系统数据库,然后把刚才修改过的帐套文件引入到U8普及版

中。

四、这个时候还不能进入账套,数据库需要升级,到系统管理的系统菜单中升级SQL server数据,会出

现数据升级错误,就需要修改后台的数据结构,需要修改结构的表有

bank表,vendor表,dispatchlists表,endispatchs表,po_podetails表,purbillvouchs表,salebillvouchs表,

so_sodetails表,

修改方法是:

在dispatchlists表,endispatchs表,po_podetails表,purbillvouchs表,salebillvouchs表, so_sodetails

表,增加cfree3到cfree10列,bank表修改cbaccount长度为30,不为空,修改vendor表中的cvenabbname

列长度为30,不为空,还有就是把cvenaccount列的长度修改为20,cvenbp列的长度修改为20,

增加前几个表的数据列的SQL语句:

ALTER TABLE 需要修改的表名

add cfree3 VARCHAR(20),cfree4 VARCHAR(20),cfree5 VARCHAR(20),cfree6 VARCHAR(20),

cfree7 VARCHAR(20),cfree8 VARCHAR(20),cfree9 VARCHAR(20),cfree10 VARCHAR(20)

5)再次进入系统管理进行SQL server数据升级即可。、

用友通标准版10.3升级U8

升级是从用友通10.3先升U852,再升U860,最后升U890;使用sqlserver2000数据库,

混合模式验证身份,SA密码空。

一、用友通10.3升U852:

1、用友通系统管理中输出(不是备份)账套,有两个文件;

2、用记事本打开其中文件,修改VersionEx=tong10.3为

VersionEx=8.52;

3、彻底卸载用友通,最好是干净的系统安装U852,重启,不覆盖当前系统

数据库,任意新建一个账套,注意编号不能与要升级的账套相同,导入要升级的账套

4、用sqlserver2000企业管理器打开数据库,找到要升级的年度账套;

5、删除AA_CoLumnDic表,再从新建账套中导入该表,打开表返回所有行,

清空数据;这个表U810.1里没有,852里有。所以要是直接升U810.1,那这个表没有地

方复制,需要一个852的备份引入10.1里,或者升级完852,再用852的备份升U810.1

6、找到AP_InputCode和VouCherNumber表,打开表返回所有行,清空数据;

7、选中Bank表设计,改cBName字段长100,不允许空,改cBAccount字段长

50,不允许空;

8、选中LockVouch表设计,改ID字段长40,不允许空;

9、选中person表设计,改cPersonName字段长20,不允许空;

10、选中vendor表设计,改cVenAbbname字段长60,不允许空,改cVenAccount字段

长20,允许空,改cVenBP字段长20,允许空;

11、选中WA_psn表设计,改cPsn_Name字段长40,不允许空;

12、打开SQL查询分析器,将下列代码复制粘贴运行,作用是对6个相关表增加数据

列:

alter table dispatchlists

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table endispatchs

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table po_podetails

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table purbillvouchs

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table salebillvouchs

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

alter table so_sodetails

add cfree3 varchar(20),cfree4 varchar(20),cfree5 varchar(20),cfree6

varchar(20),cfree7 varchar(20),cfree8 varchar(20),cfree9 varchar

(20),cfree10 varchar(20)

以上4至12步,有几年的数据账套就要做几次。

13、进入U8系统管理在系统菜单下,点击升级SQLServer数据,选中相关年份账套

升级到U852。

二、U852升级U860

E:U8SOFTAdminSQLFILE8600MainUfdataDSTR860_

错误信息:

-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

blfkey

from sysforeignkeys

where object_name(rkeyid)='Person' and col_name(rkeyid,rkey)='cPersonCode'

declare Rst cursor for select * blfkey

--删除关系并改变长度

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 blfkey

end

这个错误按下边的第三步改,改完后再升级,会出现列名不明确的错误。

数据库名: UFDATA_222_2008

D:U8SOFTAdminSQLFILE8610MainUfdatadataNLData_Upda_OM_mix_

错误信息:

-2147217900

列名 'iRDsID' 不明确。

执行如下语句时出错:

--必须执行的脚本策略相关

select irdsid, count(irdsid) as settlecount into #BillSettleCount from (select distinct ,irdsid

from PurSettleVouch inner join PurSettleVouchs on = inner join

PurBillVouchs ON = AND l=0) A group by irdsid

update rdrecords set iBillSettleCount=isnull(billsettlecount,0) from (select

,sum(#count) as billsettlecount from #BillSettleCount inner join

OM_MatSettleVouchs A on # = and type=N'01' inner join

OM_MatSettleVouchs B on = and type=N'11' group by ) C inner join rdrecords

on =

drop table #BillSettleCount

解决方法:修改脚本X:U8SOFTADMINadminsql

file8610MainUFDataDataNL下的Data_Upda_OM_mix_NL文件和

X:U8SOFTADMINadminsql

file8610MainUFDataDataDP下的Data_DP_OM_MIX_NL文件。

将第一个from之前的irdsid改为 (即明确指定)再次分析就是 A group by irdsid 处的

irdsid不明确改为即可,

升级U810.1成功

1、从U852输出账套文件;

2、卸载U852正确安装U860,导入账套;

3、在SQLServer企业管理器中修改表JustInVouch中的cPersonCode字段长度

为20,允许空(每个年度账套做一次);需要出错后再来改这个字段,要是先在852里改了,升不上去。

4、 进入U860系统管理,点击升级SQLServer数据,选中账套升级到U860(约

10分钟升级一个年度账套)。

三、U860升级U890

做过一个U860空账套直接升级,不需要作任何修改,只是时间要两个多小时。

发布评论

评论列表 (0)

  1. 暂无评论