用友畅捷通T3普及版10.9升级到T3标准版11.2,'dbo.fa_Q_YNZCTJB1' 无效
---------------------------
错误信息 升级到 T3-标准版11.1
---------------------------
数据库名: UFDATA_001_2017系统管理错误信息:-2147217865对象名 'dbo.fa_Q_YNZCTJB1' 无效。执行如下语句时出错:----逾龄资产统计表查询ALTER Proc [dbo].[fa_Q_YNZCTJB1](@LoginDate DateTime, @LoginPeriod int ) AS if exists (select * from dbo.sysobjects where id = object_id(N'[fa_Q_YNZCTJB1024]') and OBJECTPROPERTY(id, N'IsTable') = 1)begindrop table [fa_Q_YNZCTJB1024]---endselect * into fa_Q_YNZCTJB1024 from (SELECT '1' AS sSort,fa_Cards.sCardID, @LoginDate AS dDate, fa_Cards.sCardNum AS sCardNum, fa_Cards.sAssetNum, fa_Cards.sAssetName, fa_Cards.sStyle, fa_Departments.sName, fa_Cards.dStartdate, CONVERT(varchar(4),[fa_Cards].[lLife]/12) + '年' + (CASE WHEN [fa_Cards].[lLife]%12>0 THEN CONVERT(varchar(4),[fa_Cards].[lLife]%12) + '月' ELSE '' END) AS sLife, fa_Cards.dblValue, (CASE @LoginPeriod WHEN 1 THEN [dblDeprT1] WHEN 2 THEN [dblDeprT2] WHEN 3 THEN [dblDeprT3] WHEN 4 THEN [dblDeprT4] WHEN 5 THEN [dblDeprT5] WHEN 6 THEN [dblDeprT6] WHEN 7 THEN [dblDeprT7] WHEN 8 THEN [dblDe
---------------------------
确定
---------------------------
以上错误信息提示,在畅捷通支持网站有个说明,需要降级就可以,我执行了降级发现还有有个错误,先说这个错误的解决脚本如下:
update accinformation set cvalue='8.216',cdefault='8.216' where cname='versionflag'
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Rpt_FldDEF]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
select * into tempdb..yld1 from rpt_flddef
GO
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Rpt_FldDEF]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Rpt_FldDEF]
GO
CREATE TABLE [dbo].[Rpt_FldDEF] (
[ID_Field] [int] IDENTITY (1, 1) NOT NULL ,
[ID] [int] NULL ,
[Name] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[Expression] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[Condition] [varchar] (255) COLLATE Chinese_PRC_CI_AS NULL ,
[ModeEx] [int] NULL ,
[OrderEx] [int] NULL ,
[TopEx] [int] NULL ,
[LeftEx] [int] NULL ,
[Width] [int] NULL ,
[Height] [int] NULL ,
[Visible] [int] NULL ,
[Note] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[nameForeign] [varchar] (32) COLLATE Chinese_PRC_CI_AS NULL ,
[iColSize] [int] NULL ,
[FormatEx] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
[iAlignStyle] [int] NULL ,
[iSize] [int] NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Rpt_FldDEF] WITH NOCHECK ADD
CONSTRAINT [Rpt_FldDEF_PK] PRIMARY KEY CLUSTERED
(
[ID_Field]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Rpt_FldDEF] ADD
CONSTRAINT [DF__Rpt_FldDe__iColS__76B76416] DEFAULT (0) FOR [iColSize],
CONSTRAINT [DF__Rpt_FldDe__iAlig__77AB884F] DEFAULT (0) FOR [iAlignStyle],
CONSTRAINT [DF__Rpt_FldDe__iSize__789FAC88] DEFAULT (0) FOR [iSize]
GO
CREATE INDEX [ID] ON [dbo].[Rpt_FldDEF]([ID]) ON [PRIMARY]
GO
CREATE UNIQUE INDEX [ID_Field] ON [dbo].[Rpt_FldDEF]([ID_Field]) ON [PRIMARY]
GO
setuser
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_Height_D]', N'[Rpt_FldDEF].[Height]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_ID_D]', N'[Rpt_FldDEF].[ID]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_LeftEx_D]', N'[Rpt_FldDEF].[LeftEx]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_ModeEx_D]', N'[Rpt_FldDEF].[ModeEx]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_OrderEx_D]', N'[Rpt_FldDEF].[OrderEx]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_TopEx_D]', N'[Rpt_FldDEF].[TopEx]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_Visible_D]', N'[Rpt_FldDEF].[Visible]'
GO
EXEC sp_bindefault N'[dbo].[Rpt_FldDEF_Width_D]', N'[Rpt_FldDEF].[Width]'
GO
setuser
GO
set identity_insert Rpt_FldDEF on
insert into dbo.Rpt_FldDEF(ID_Field, ID, Name, Expression, Condition, ModeEx, OrderEx, TopEx, LeftEx, Width, Height, Visible, Note, nameForeign, iColSize, FormatEx, iAlignStyle, iSize)
select iD_Field, ID, Name, Expression, Condition, ModeEx, OrderEx, TopEx, LeftEx, Width, Height, Visible, Note, nameForeign, iColSize, FormatEx, iAlignStyle, iSize
-- select *
from tempdb..yld1
set identity_insert Rpt_FldDEF off
go
if exists (select * from tempdb..sysobjects where name='yld1')
drop table tempdb..yld1
GO
执行完这个脚本之后,重新打开系统管理升级sql,会有下面错误.
---------------------------
错误信息 升级到 T3-用友通10.8plus1
---------------------------
数据库名: UFDATA_001_2017系统管理错误信息:-2147217833将截断字符串或
二进制数据。执行如下语句时出错:if exists (select * from
dbo.sysobjects where id = object_id(N'[dbo].[tmpGL_blreq]') and
OBJECTPROPERTY(id, N'IsUserTable') = 1)begin insert into GL_blreq
(cf_id,cf_name,Description) select cf_id,cf_name,Description from
tmpGL_blreq drop table [dbo].[tmpGL_blreq] endif not exists
(select * from sysobjects inner join syscolumns on sysobjects.id =
syscolumns.id where sysobjects.name = 'GL_bfreq' and sysobjects.type =
'U' and syscolumns.name = 'cf_name') Alter table GL_bfreq add
cf_name varchar(50) if not exists(select * from sysobjects inner join
syscolumns on sysobjects.id = syscolumns.id where sysobjects.name =
'GL_bfreq' and sysobjects.type = 'U' and syscolumns.name = 'IsYx')
Alter table GL_bfreq add IsYx varchar(2) ---------------------------
确定
---------------------------
****解决办法***错误原因是常用凭证表有问题,因为降级回去之后老版本是没有常用凭证分类的.
delete GL_bfreq
delete GL_blreq
删除之后,重新执行就OK