我需要壓縮並修復Access 2007 .accdb數據庫文件。我知道JRO.JetEngine可以使用.mdb文件來做到這一點,但我需要通過代碼修復更新版本的2007格式。如何使用.NET代碼壓縮和修復ACCESS 2007數據庫?
有什麼建議嗎?
編輯:
這裏的事:我發現我可以使用COM對象庫「的Microsoft Office 12個Access數據庫引擎對象庫」,並使用用到dbengine類並調用其CompactDatabse方法。 但是,似乎沒有一個地方可以提供數據庫密碼;看起來像Office 12數據庫引擎沒有任何地方的任何文檔。 我發現了CompactDatabase方法的舊版本的一些文檔,但這些文檔根本沒有幫助我。
這讓我瘋狂。
我在JRO中使用此代碼,它引發COM異常: Dim t_jetEngine As New JRO.JetEngine:t_jetEngine.CompactDatabase(「Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\ MyDB.accdb; Jet OLEDB :Database Password = MYPASSWORD「,」Provider = Microsoft.ACE.OLEDB.12.0; Data Source = C:\ COMPACTED.accdb;「) 例外:」無效參數「 我的代碼有什麼問題? – TheAgent 2009-10-13 12:01:35
@TheAgent:您需要在連接字符串中添加'Jet OLEDB:Engine Type = 5'。我已經更新了我的答案以涵蓋這一點,並以你爲例。 – onedaywhen 2009-10-13 15:16:44
謝謝。奇蹟般有效。 – TheAgent 2009-10-18 12:19:00