Access資料庫被損壞的修複方法

來源:互聯網
上載者:User
Access資料庫被損壞主要分為以下幾種情況:1、嚴重損壞;2、輕度損壞;3、有些表被損壞或有些表的部分記錄被損壞。下面就分情況介紹解決辦法。

Access資料庫被損壞主要分為以下幾種情況:1、嚴重損壞;2、輕度損壞;3、有些表被損壞或有些表的部分記錄被損壞。下面就分情況介紹解決辦法。

1、使用Access97打不開資料庫、系統提示"不可識別的資料庫格式"或"不是該表的索引"等資訊,這樣的資料庫都是損壞比較嚴重的。損害嚴重的資料庫一般來說都是無法修複的,只有恢複備份了,好在這種情況比較少見。


2、如果資料庫損壞的不嚴重,只需要使用Access 97菜單上的“修複資料庫”和“壓縮資料庫”就可以把資料庫修複好。因為資料庫輕微損壞的時候,一般也不會導致軟體出什麼問題,所以也不會引起人的注意,只有當資料庫的某一個或幾個表損壞了的時候,才會使軟體變得不穩定,所以這種情況才是我們最常遇到的。

3、如何確定資料庫中哪幾個表有問題呢,我們首先利用Access 97建立一個空資料庫,利用系統提供的“引入資料庫”功能,選擇目標資料庫所有的表進行引入,Access 97當引入到有問題的表時系統會提示一些錯誤資訊,把這個表的名字記下來以備以後修複時使用。
接下來利用Access97開啟有問題的資料庫,準備修複表。修複損壞的表的方法依照表損壞程度不同而不同,下面分情況介紹處理的辦法:

一、表損壞的非常嚴重,表現為無法開啟表,系統提示“Microsoft jet 找不到對象”、“沒有讀寫權限”或“不可識別”等資訊。

處理方法:這種表的已經損壞得非常嚴重了,一般無法修複。如果這個表不很重要或通常情況下表的內容為空白的話,例如“常用憑證表”、“科目共用鎖定定表”或“憑證共用鎖定定表”,我們可以通過引入的方法把其他資料庫的表引入,然後把有問題的表刪除即可。

二、表中有幾行內容非常混亂或欄位內標有“#已刪除”字樣,但當要刪除這些記錄時就會出現錯誤資訊不許刪除。

處理辦法:既然不讓刪除這些記錄,我們可以通過使用SQL語句把沒有問題的記錄複製到一個新的表中,然後把老表刪除把新表的名字改過來即可。例如“憑證及明細賬表GL_ACCVOUCH”中有錯誤記錄有無法刪除,我們可以使用如下SQL語句把好的記錄複製到GL_ACCTEMP中:

以下為引用的內容:
SELECT GL_ACCVOUCH.* INTO GL_ACCTEMP
FROM GL_ACCVOUCH WHERE {篩選的條件}
然後刪除表GL_ACCVOUCH,再把表GL_ACCTEMP的
名字改為GL_ACCVOUCH即可解決問題。 


注釋:修複Access資料庫的注意事項,首先,我們在修複資料庫前一定要做好備份,以防資料丟失或損壞;有一些資料庫中有RELATION(關係)來維護資料的一致性,但當資料庫異常後相關表的RELATION也就丟失了,在修複好資料庫後一定要把RELATION再聯好,有些軟體可以自動修複RELATION,比如用友公司的ERP8.XX系列產品的資料庫可以通過把表accinformation中的[cSysid]='AA' and [項目號]='99'的記錄,把[設定值]和[預設值]改為'8.0A0',重新進入系統時,系統會自動升級並重建索引。



相關文章

Beyond APAC's No.1 Cloud

19.6% IaaS Market Share in Asia Pacific - Gartner IT Service report, 2018

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。