1.新建個(gè)ACCESS數(shù)據(jù)庫(kù)
2.打開(kāi)SQL server的企業(yè)管理器,數(shù)據(jù)庫(kù)上右鍵所有任務(wù)選導(dǎo)入數(shù)據(jù)
來(lái)源數(shù)據(jù)選access 然后選擇原來(lái)已經(jīng)損壞的數(shù)據(jù)庫(kù)
目的也選ACCESS 然后選擇新建的數(shù)據(jù)庫(kù)
下面就是下一步 完成這些了
完成之后打開(kāi)db1.mdb 可以看到數(shù)據(jù)都在里面了
這時(shí)候還不能正常使用 因?yàn)槟J(rèn)值 還有自動(dòng)遞增類型都丟失了
需要按原來(lái)的數(shù)據(jù)結(jié)構(gòu)修正過(guò)來(lái)
'---------------------------------
上文已經(jīng)將全部數(shù)據(jù)都恢復(fù)出來(lái)了,但當(dāng)你試圖將ID的類型從數(shù)字改為自動(dòng)遞增的時(shí)候發(fā)現(xiàn)系統(tǒng)并不允許,這個(gè)麻煩了,是不是前面的都白做了呢?這個(gè)bug確實(shí)難住了我好一陣。
于是我發(fā)現(xiàn)了迂回的方法,以forum表為例,里面的ID應(yīng)該為自動(dòng)遞增 posttime,lasttime的默認(rèn)值應(yīng)該是now(),ID字段在有數(shù)據(jù)的時(shí)候是不允許修改的,
下面就是俺剛剛獨(dú)創(chuàng)的修復(fù)方法了,呵呵,打開(kāi)FORUM表 全選 刪除
然后保存后關(guān)閉表,在FORUM表上右鍵設(shè)計(jì)表,這時(shí)候可以修改ID的字段類型了,順便把默認(rèn)值也都改好。
也許你會(huì)問(wèn),現(xiàn)在改好有什么用啊,記錄都被刪除了,恩這時(shí)候我們?cè)倮靡幌律衔牡腟QL SERVER的導(dǎo)入到處功能,操作完全同上文。
呵呵,秘訣傳授完畢,初步測(cè)試有效;這個(gè)方法比利用網(wǎng)上流傳的修復(fù)工具要有效的多,只要了解數(shù)據(jù)庫(kù)結(jié)構(gòu)而且ACCESS庫(kù)不是壞的無(wú)可救要救可以,現(xiàn)在你可以幫助別人修復(fù)數(shù)據(jù)庫(kù)了 :)
后記:
將表的記錄全部刪除的時(shí)候 直接打開(kāi)ACCESS 全選刪除是可以的,但如果記錄很多的情況下(比如reforum表)機(jī)器會(huì)死掉,所以比較好的方法是將數(shù)據(jù)庫(kù)放在你的網(wǎng)站下,用asp來(lái)刪除
先把數(shù)據(jù)庫(kù)剪貼過(guò)去,修改conn.asp
寫個(gè)asp文件
<!--#include file=conn.asp-->
<%
conn.execute("delete * from forum")
conn.execute("delete * from reforum")
conn.execute("delete * from [user]")
...................
%>
一共有20來(lái)個(gè)表,多復(fù)制幾次:)
都完成后用ACCESS壓縮修復(fù)下 ,好了你的數(shù)據(jù)庫(kù)重生完畢 :)
'-------------------------------------
新聞熱點(diǎn)
疑難解答
圖片精選