T086学习网 | 站长学院 | 技术文档 | 成语 | 歇后语 | 帝国时代 | 代码收藏 | IP地址查询 | 生活百科 | 生日密码 | CSS压缩 | 用户评论 | 欣欣百宝箱

利用SQL的导入导出功能恢复损坏的ACCESS库

【 来源:雨丝工作室作者:UE 更新时间:2005-07-18 | 字体:
[导读]1.新建个ACCESS数据库 2.打开SQL server的企业管理器,数据库上右键所有任务选导入数据来源数据选access 然后选择原来已经损坏的数据库目的也选ACCESS 然后选择新建的数据库下面就是下一步 完成这些了完成之后打开db...

1.新建个ACCESS数据库

2.打开SQL server的企业管理器,数据库上右键所有任务选导入数据

来源数据选access 然后选择原来已经损坏的数据库

目的也选ACCESS 然后选择新建的数据库

下面就是下一步 完成这些了

完成之后打开db1.mdb 可以看到数据都在里面了
这时候还不能正常使用 因为默认值 还有自动递增类型都丢失了
需要按原来的数据结构修正过来

'---------------------------------

上文已经将全部数据都恢复出来了,但当你试图将ID的类型从数字改为自动递增的时候发现系统并不允许,这个麻烦了,是不是前面的都白做了呢?这个bug确实难住了我好一阵。

于是我发现了迂回的方法,以forum表为例,里面的ID应该为自动递增 posttime,lasttime的默认值应该是now(),ID字段在有数据的时候是不允许修改的,
下面就是俺刚刚独创的修复方法了,呵呵,打开FORUM表 全选 删除
然后保存后关闭表,在FORUM表上右键设计表,这时候可以修改ID的字段类型了,顺便把默认值也都改好。

也许你会问,现在改好有什么用啊,记录都被删除了,恩这时候我们再利用一下上文的SQL SERVER的导入到处功能,操作完全同上文。

呵呵,秘诀传授完毕,初步测试有效;这个方法比利用网上流传的修复工具要有效的多,只要了解数据库结构而且ACCESS库不是坏的无可救要救可以,现在你可以帮助别人修复数据库了 :)

后记:
将表的记录全部删除的时候 直接打开ACCESS 全选删除是可以的,但如果记录很多的情况下(比如reforum表)机器会死掉,所以比较好的方法是将数据库放在你的网站下,用asp来删除
先把数据库剪贴过去,修改conn.asp
写个asp文件

<!--#include file=conn.asp-->
<%
conn.execute("delete * from forum")
conn.execute("delete * from reforum")
conn.execute("delete * from [user]")
...................
%>


一共有20来个表,多复制几次:)

都完成后用ACCESS压缩修复下 ,好了你的数据库重生完毕 :)

'-------------------------------------

  • 转载请注明来源:IT学习网 网址:http://www.t086.com/ 向您的朋友推荐此文章
  • 特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系我们,我们会尽快予以更正。
更多
留言建议ASP探针PHP探针站长Enjoy的Blog
© 2017 T086学习网 - T086.com(原itlearner.com)
RunTime:10.92ms QueryTime:7