日韩一级aⅤ片观看-中国一级片网站是多少啊-黄色免费视频一级-一级AAAA级毛片免费看-三级片毛片2023-一级黄色录像视频直播-国产特级黄色片久久久-av黄片一级啊啊不要不要-因为三级片三级毛片

常見問題與回答

建南機器50多年智能化產品服務商

您當前的位置:首頁  / 服務中心  / 常見問題與回答 / 系統提示“Not a table DBF”后如何處理?

系統提示“Not a table DBF”后如何處理?

發布日期:[2024-10-09]     點擊率:

這個問題同樣是可能發生在意外停電或非法關機或死機狀態下。只是破壞的是數據庫文件本身,而不是索引文件。在我們解決問題之前,我們不妨先來看一個數據庫文件的結構。以Issucard.dbf為例。

當庫記錄為空時,其文件頭格式為:

00000000h:03 00 07 19 00 00 00 00 A1 01 6F 00 00 00 00 00

當庫記錄不為空又出錯時,文件頭格式為:

00000000h:03 00 07 1B 8D 2F 00 00 A1 01 6F 00 00 00 00 00

我們不難看出,除劃線部分相同而又不空外,還有3個字節不相同,當我們試著改變其中任意一個字節,就會找出一個規律:當第6個字節以16進制算法減1時,數據庫就少一條記錄;當第6個字節減少到00時,再將第5個字節按16進制算法減1,數據庫也少一條記錄;當第4個字節按16進制算法減1時,數據庫少16條記錄。以上出錯的數據庫在將第4個字節改為8C時,庫文件恢復正常。

由此可以判斷,當數據庫在遭到意外來不及正常關閉時,其前一條記錄保存是正常的。因此,我們只需將第5或者第6個字節按16進制算法減1,即可將破壞的數據庫文件恢復。

圖片22.jpg

上圖為issucard.dbf庫有兩條記錄的正確庫示意圖,解剖其各字節含義如下:00000000h00(庫標志),00000000h01-03(記錄最后訪問年-月-日),00000000h04-07(記錄條數),00000000h08-09(記錄起始位’141’),00000000h0a(單條記錄長度),00000020h0b-0c(字段類型及起始位),00000030h00(字段長度),00000140h00(記錄起始標志’0D’),000001c0h0a(記錄終止位),000001c0h0b(記錄終止標志’1A’)。記錄條數=(記錄終止位-記錄起始位)/單條記錄長度。