您现在的位置: 佐生软件 >> 帮助 >> E6-ERP或轻松进销存相关 >> 正文
  轻松进销存V3 数据修复过程(百惠商场)

轻松进销存V3 数据修复过程(百惠商场)

作者:ltyi    文章来源:本站原创    点击数:5815    更新时间:2009/4/27    

 百惠商场的V3在使用过程中出现数据库错误,错误提示如下:
    不能读取 货号列表(分仓库[1]),详细原因:General SQL error. Internal gds software consistency check(can't continue after bugcheck)
    这是因为数据库损坏了,必须修复数据库才行。

阶段一、一般的修复过程如下:
1、关闭V3程序,包括数据传输服务;
2、复制一份帐套数据库文件(帐套1是WORK1.GDB,帐套A是WORKA.GDB,以此类推;数据库文件位于 轻松进销存\DATA 目录中);
3、进入CMD命令窗口,并进入复制出来的work1.gdb所在文件夹;
4、为了避免在以下命令行中每次都输入用户名与密码,特设置以下两个变量:
SET ISC_USER=SYSDBA
SET ISC_PASSWORD=masterkey
5、尝试修复损坏的数据库:
gfix -mend -full -ignore work1.gdb
6、检查一遍,看数据库是否修好:
gfix -v -full work1.gdb
7、仍有错误,必须做一个数据备份与恢复操作:
gbak -backup -v -ignore -garbage -limbo work1.gdb work1.gbk
8、从备份文件中恢复数据
gbak -create -v work1.gbk fix.gdb
     可将以上命令复制到文本文档中,并保存为bat文件放入 轻松进销存\DATA 目录中运行。
    一般情况下,V3数据库经过这么处理是就可以修复了,修复后将fix.gdb改名为work1.gdb覆盖原有文件即可。但是此次数据库似乎损坏得比较严重,在恢复数据的最后一步(重建索引)出错了,提示如下:
gbak: cannot commit index RDB$FOREIGN100
gbak: ERROR: violation of FOREIGN KEY constraint "STKLST_PRIMARY_KEY" on table "STKLST"
gbak: ERROR: action cancelled by trigger (3) to preserve data integrity
gbak: ERROR:     Cannot deactivate primary index
gbak: Exiting before completion due to errors
    此时步骤8的命令已经生成了一个体积比work1.gdb小一些的fix.gdb文件。由于这个文件的数据索引重建失败,所以这个数据库文件是不完整的,不能正常使用;但是数据已经完整地复制了,所以这个帐套是能够用V3打开的。这种情况下我们需要进行进一步的修复工作。

阶段二、导出/导入基本资料:
1、将 轻松进销存\DATA\work1.gdb改名为work1.bak,并将前面生成的fix.gdb复制为 轻松进销存\DATA\work1.gdb;
2、打开V3后台,进入帐套1;
3、在库存清单中,点击菜单的【表格显示设置】,将所有字段的显示都打开(如果确定某些字段是没用到的,可以不用显示出来);
4、选择菜单的【功能】-【数据导出到文件】,将库存清单导出为“库存清单.txt”;
5、依次进入客户名单、供应商名单、资金户头、仓库代号等,按照第3、4部的方法将资料导出为txt文档;如果【业务资料】和【公司资料】还录入了其他资料,同样将它们导出为txt;
6、新建一个空帐套,如帐套2;进入帐套2;
7、进入库存清单,选择菜单的【功能】-【从文件导入数据】,导入刚才导出的“库存清单.txt”;
8、依次进入客户名单、供应商名单、资金户头、仓库代号等,将刚才导出的txt文件导入。
    这样基本资料就全都导入到帐套2了,以后使用帐套2即可。

阶段三、导入/导出库存量或单据
    如果需要保留帐套1的采购单、销售单和其他单据,请在帐套1中选择【维护】-【截取数据】,设置好日期范围和截取内容并截取数据,再到帐套2选择【维护】-【补数据】将截取的数据补入即可。如果单据比较多,这个过程会花费比较长的时间。
    如果只需要保留商品的库存量则不用花费那么多时间。导入库存可进行如下操作:
1、在帐套1的库存清单中,设置只显示货号、库存量、自定进价(进价请根据实际情况选择)这三项,并将库存清单导出到“盘点.txt”;
2、打开“盘点.txt”,将第一行的“货号 库存量 自定进价”修改为“货号 数量 进价”,注意不要修改中间的空格;
3、在帐套2中新建一张分布式盘点单,并在该单的明细中选择【功能】-【从文件导入数据】,导入修改好的“盘点.txt”;
4、将分布式盘点单生效,并到差额盘点中将对应的差额盘点单生效即可。
    至此,整套V3数据就完全修复好了。

[ 返回 ]
  • 上一篇文章:

  • 下一篇文章:
  •