当前位置:文档之家› SQL数据库的管家婆出错分析及修复方法:

SQL数据库的管家婆出错分析及修复方法:

SQL数据库的管家婆出错分析及修复方法:
SQL数据库的管家婆出错分析及修复方法:

SQL简单数据的出错分析及修复方法:简单的数据结果表:

1)基本信息表

2)表格单据清单

3)其他常用表:

常用表中的主要字段介绍

1.商品信息库(ptype)

注:销售退货取的入库商品的成本首先取最近加价值(recprice),如果没有的话才取当前库存成本值.

2.往来单位信息库(btype)

3.职员信息表,仓库信息表,地区,部门的信息表的结构都跟商品信息表的差不多.

4.会计科目表(atypecw,atype)

注:这个表中的科目余额发生额的值,都是通过发生的相关业务单据计算出来的值,我们一般不做直接修改。

修改某张销售单据中某个商品销售价格或者销售成本,在dlysale里面我们就可以修改的字段是price,total或者costprice,costtotal字段值,还要将dlya中对应的科目值重新写一下.

6.系统初始值表(sysdata)

注:表中subname=period是会计其间;

startdate:做帐开始日期;

niover :是否已经开帐,0为未开帐,1为已开帐;

enddate:做帐开始日期;

versionno:软件的版本序列号

7.商品库存分布表(goodsstocks),期初库存(inigoodsstocks)

注:商品的库存分布和批次详情都是写在这个库中的,如果商品在某个仓库中的数量和金额都为0的时候,在这个表中是不应该显示出来的.

期初库存(inigoodsstocks)是同样的,我们这里也就不单独介绍了.

8.客户跟踪价格表(price),跟踪的都是折前价格

9.固定资产明细表(Fixdetail)

简单数据的修复方法:

1.清除超级用户密码:

update loginuser

set password=’’

where etypeid=’00000’

2.进入账套时提示:‘invalid variant type conversion’

(1)drop procedure z_checkpassword

(2)CREATE PROCEDURE z_checkpassword

AS

select l.* , e.fullname as efullname from loginuser l, employee e where l .etypeid=e.typeid

return 0

(3)delete from loginuser

where etypeid not in (select typeid from employee)

3.期初库存商品数量为0,但是不能删除基本信息。

Delete from inigoodsstocks

Where qty=0 and total=0

4.辉煌版中由于以前版本的问题造成的期初收入类、费用类科目有余额,利润没有清0,以致资产负债表不平,将收入支出类科目清零

UPDATE atype

SET TTL00 = 0

WHERE (typeId LIKE '00003%') OR

(typeId LIKE '00004%') OR

(typeId='0000500002')

5.辉煌版中点击库存状况时出现提示:invalid variant type conversion

检查一下ptype表中是否有字段长度过大的情况,比如prepreice4的值是否异常大,如是在查询分析器中执行:

Update ptype

set preprice4=0

where prepreice4>1000000

6.辉煌版中“用户口令及权限设置”中增加一新用户总是排在“超级用户”前而且不允许删除,“超级用户”却可以删除

Loginuser中记录的顺序错了,在查询分析器中运行:

begin tran

select * into #t from loginuser order by etypeid

truncate table loginuser

insert into loginuser select * from #t

commit

7.如何将数据库物理文件恢复到SQL SERVER中,

情况一:有*.mdf和*.ldf文件,

sp_attach_db @dbname = N'test',

@filename1 = N'd:\mssql7\data\Test.mdf',

@filename2 = N'd:\mssql7\data\Test.ldf'

注:@filename1 = N'd:\mssql7\data\Test.mdf':

物理数据库数据文件名称(包括路径,主文件名,扩展文件名);

@filename2 = N'd:\mssql7\data\Test.ldf'

物理数据库日志文件名称(包括路径,主文件名,扩展文件名);

情况二:只有一个*.mdf文件:

EXEC sp_attach_db @dbname = N'guest',

@filename1 = N'c:\medserver\data\abc.mdf'

注:c:\medserver\data\abc.mdf为*.mdf文件的路径

以上两种情况,将文件恢复后,还要在master数据库中的graspcwzt中添加数据库名与帐套名

8.如在管家婆中做年结存时,提“超时已过期”,可在数据库中手工做年结存。辉煌版:

exec z_yearclose

标准版:

a. exec CW_F_YearClose 1

b.exec CW_F_YearClose 2

先执行a,再执行b

9.日期录入错误的处理方法

步骤一:

首先在查询分析器中查找日期>当前日期的单据,执行语句如下:

select * from dlyndx where date>’yyyy-mm-dd’

(注:yyyy-mm-dd为当前日期格式yyyy为年,mm为月,dd为日)

步骤二:

修改日期:

1)、如只有年份录入错误,如把2002-12-31录成2003-12-31,则执行:

updata dlyndx set date=’2002’+right(date,6) where date>’yyyy-mm-dd’updata dlya set date=’2002’+right(date,6) where date>’yyyy-mm-dd’然后根据dlyndx中的vchtype确定单据的类型,然后修改对应的表。

如果是销售单:

updata dlysale set date=’2002’+right(date,6) where date>’yyyy-mm-dd’进货单:

updata dlybuy set date=’2002’+right(date,6) where date>’yyyy-mm-dd’其它的单据:

updata dlyother set date=’2002’+right(date,6) where date>’yyyy-mm-dd’2)、如日期全部需要修改,则执行:

update dlyndx set date=’YYYY-MM-DD’where date>’yyyy-mm-dd’(YYYY-MM-DD为输入的正确日期的格式)

然后依次把dlyndx改为dlya 执行。然后确定单据的类型,修改其它的单据。步骤三:

修改sydata表中的当月的结束日期。

Update sysdata set subvalue=’yyyy-mm-dd’where subname=’enddate’(yyyy-mm-dd为过账单据的最大的日期,可由下列语句查出:

Select max(date) from dlyndx where draft=2

步骤四:

修改月结存信息表monthproc.

10.辉煌版中自动盘盈盘亏不能使用,每次使用时把盘点数量输入保存后再打开,同一商品就会变为几个乃至几十个。

解决方法:是把CheckedCount库清空。

在查询分析器中执行:delete from CheckedCount

11、标准版中在应收款查询和应付款查询中,选择同一时间段时往来对账的此前

余额与明细账本中的此前余额不一致。

原因:查询一下在明细账本中有收、付款单,但在往来对账中是否有收、付款单,如往来对账中没有,则是由于在dlyndx中btypeid有记录,而dlya中btypeid 为空造成的。

解决方法:在查询分析器中执行:

update dlya

set btypeid = b .btypeid

from dlya a inner join dlyndx b

on a.vchcode = b.vchcode

where a.vchtype in(4,66)

12.在登账时提示“科目已经删除或者分类”,不能登账

原因:有些会计科目已经分类或删除,而凭证指向的会计科目却仍然指向它。解决方法:查找已分类或删除的科目,执行:

SELECT *

FROM atypecw a INNER JOIN

DlyA d ON a.typeId = d.atypeid

WHERE a.deleted = 1 OR a.sonnum <> 0

找出这些科目后,让客户修改dlya中的atypeid,使其指向子类。

13. 标准版登帐时提示科目被删除或者分类的情况:

查找被删除或者分类的科目的执行语句:

SELECT *

FROM DlyA

WHERE (atypeid IN

(SELECT typeid

FROM atypecw

WHERE sonnum <> 0 or deleted=1))

找到之后,重新将科目选择一次.

数据修复组

相关主题
文本预览
相关文档 最新文档