金蝶kis专业版有部分账套打开后提示无法建立数据连接

金蝶kis专业版有部分账套打开后提示无法建立数据连接


2024年4月17日发(作者:)

金蝶kis专业版有部分账套打开后提示 无法建立数据连接,或者

保存凭证时弹出对象名"VoucherEntry 无效

问题原因:由于数据库中 t_voucherentry 表中丢失索引导致

解决方法:

先把帐套备份后,请参考如下方法处理:

第一步: 在SQL查询分析器中选择问题帐套,备份表t_voucherentry 数据到 temp1 表

(直接在坏的这个数据库里面执行下面这个语句就可以) Select * into temp1 from

t_voucherentry(说明意思:在数据库里新建temp1这张表 并且把t_voucherentry里面的

数据导入到temp1里面)

第二步: 删除 t_voucherentry 表,(执行下面语句)

if exists (select * from ects where id = object_id(N'[dbo].[t_VoucherEntry]') and

OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[t_VoucherEntry]

第三步: 创建一张t_VoucherEntry表(执行以下语句即可)

CREATE TABLE [dbo].[t_VoucherEntry] ( [FBrNo] [varchar] (10) COLLATE

Chinese_PRC_CI_AS NOT NULL , [FVoucherID] [int] NOT NULL , [FEntryID] [int] NOT

NULL , [FExplanation] [varchar] (255) COLLATE Chinese_PRC_CI_AS

NULL , [FAccountID] [int] NOT NULL , [FDetailID] [int] NOT NULL , [FCurrencyID] [int]

NOT NULL , [FExchangeRate] [float] NOT NULL , [FDC] [smallint] NOT

NULL , [FAmountFor] [money] NOT NULL , [FAmount] [money] NOT NULL , [FQuantity]

[float] NOT NULL , [FMeasureUnitID] [int] NOT NULL , [FUnitPrice] [float] NOT

NULL , [FInternalInd] [varchar] (10) COLLATE Chinese_PRC_CI_AS

NULL , [FAccountID2] [int] NOT NULL , [FSettleTypeID] [int] NOT NULL , [FSettleNo]

[varchar] (40) COLLATE Chinese_PRC_CI_AS NULL , [FTransNo] [varchar] (100)

COLLATE Chinese_PRC_CI_AS NULL , [FCashFlowItem] [int] NOT NULL , [FTaskID] [int]

NOT NULL , [FResourceID] [int] NOT NULL) ON [PRIMARY] GO

ALTER TABLE [dbo].[t_VoucherEntry] WITH NOCHECK ADD CONSTRAINT

[PK_VoucherEntry] PRIMARY KEY CLUSTERED ( [FVoucherID], [FEntryID] ) ON

[PRIMARY] GO

ALTER TABLE [dbo].[t_VoucherEntry] ADD CONSTRAINT

[DF__t_Voucher__FBrNo__4D5F7D71] DEFAULT ('0') FOR [FBrNo], CONSTRAINT

[DF__t_Voucher__FDeta__4E53A1AA] DEFAULT (0) FOR [FDetailID], CONSTRAINT

[DF__t_Voucher__FQuan__4F47C5E3] DEFAULT (0) FOR [FQuantity], CONSTRAINT

[DF__t_Voucher__FMeas__503BEA1C] DEFAULT (0) FOR

[FMeasureUnitID], CONSTRAINT [DF__t_Voucher__FUnit__51300E55] DEFAULT (0)

FOR [FUnitPrice], CONSTRAINT [DF__t_Voucher__FAcco__5224328E] DEFAULT (0)

FOR [FAccountID2], CONSTRAINT [DF__t_Voucher__FSett__531856C7] DEFAULT (0)

FOR [FSettleTypeID], CONSTRAINT [DF__t_Voucher__FCash__540C7B00] DEFAULT

(0) FOR [FCashFlowItem], CONSTRAINT [DF__t_Voucher__FTask__55009F39]

DEFAULT (0) FOR [FTaskID], CONSTRAINT [DF__t_Voucher__FReso__55F4C372]

DEFAULT (0) FOR [FResourceID] GO

CREATE INDEX [ix_VoucherEntry_1] ON [dbo].[t_VoucherEntry]([FAccountID]) ON

[PRIMARY] GO

CREATE INDEX [ix_VoucherEntry_2] ON [dbo].[t_VoucherEntry]([FCurrencyID]) ON

[PRIMARY] GO

CREATE INDEX [ix_VoucherEntry_3] ON [dbo].[t_VoucherEntry]([FDetailID]) ON

[PRIMARY]GO

第四步: 插回凭证表中的数据 Insert into t_voucherentry select * from temp1

第五步: 删除这张临时表 temp1 命令 Drop table temp1

完毕。

已经测试可以解决


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713357137a2232895.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信