切换到宽版
  • 3615阅读
  • 6回复

修复ACCESS数据库的几种常见方法 [复制链接]

上一主题 下一主题
离线pci-pc3000
 
只看楼主 倒序阅读 0 发表于: 2010-05-16
— 本帖被 Manboo 从 数据恢复教程及典型案例专区 移动到本区(2010-10-14) —
本部分内容设定了隐藏,需要回复后才能看到
离线pci-pc3000
只看该作者 1 发表于: 2010-05-16
3、如何确定数据库中哪几个表有问题呢,我们首先利用Access 97建立一个空数据库,利用系统提供的“引入数据库”功能,选择目标数据库所有的表进行引入,Access 97当引入到有问题的表时系统会提示一些错误信息,把这个表的名字记下来以备以后修复时使用。



接下来利用Access97打开有问题的数据库,准备修复表。修复损坏的表的方法依照表损坏程度不同而不同,下面分情况介绍处理的办法:



一、表损坏的非常严重,表现为无法打开表,系统提示“Microsoft jet 找不到对象”、“没有读写权限”或“不可识别”等信息。



处理方法:这种表的已经损坏得非常严重了,一般无法修复。如果这个表不很重要或通常情况下表的内容为空的话,例如“常用凭证表”、“科目共享锁定表”或“凭证共享锁定表”,我们可以通过引入的方法把其他数据库的表引入,然后把有问题的表删除即可。
离线pci-pc3000
只看该作者 2 发表于: 2010-05-16
二、表中有几行内容非常混乱或字段内标有“#已删除”字样,但当要删除这些记录时就会出现错误信息不许删除。



处理办法:既然不让删除这些记录,我们可以通过使用SQL语句把没有问题的记录复制到一个新的表中,然后把老表删除把新表的名字改过来即可。例如“凭证及明细账表GL_ACCVOUCH”中有错误记录有无法删除,我们可以使用如下SQL语句把好的记录复制到GL_ACCTEMP中:



SELECT GL_ACCVOUCH.* INTO GL_ACCTEMP



FROM GL_ACCVOUCH WHERE {筛选的条件}



然后删除表GL_ACCVOUCH,再把表GL_ACCTEMP的名字改为GL_ACCVOUCH即可解决问题。
离线pci-pc3000
只看该作者 3 发表于: 2010-05-16
修复ACCESS数据库的注意事项,首先,我们在修复数据库前一定要做好备份,以防数据丢失或损坏;有一些数据库中有RELATION(关系)来维护数据的一致性,但当数据库异常后相关表的RELATION也就丢失了,在修复好数据库后一定要把RELATION再联好,有些软件可以自动修复RELATION,比如用友公司的ERP8.XX系列产品的数据库可以通过把表accinformation中的[cSysid]='AA' and [项目号]='99'的记录,把[设置值]和[缺省值]改为'8.0A0',重新进入系统时,系统会自动升级并重建索引。
离线lbpcwd
只看该作者 4 发表于: 2010-10-29
   
离线jackwei057

只看该作者 5 发表于: 2010-11-14
回帖子看看先
离线contian
只看该作者 6 发表于: 2010-12-14
回帖子看看先
快速回复
限100 字节
告贴,不要在非指定版块发表水贴,谢谢合作。
 
上一个 下一个