我正在開發使用Access數據庫(MDB格式)的Delphi 7應用程序。它可以在我的電腦和其他一些PC上正常工作。但是在有些機器上,有時試圖訪問數據庫時會出現錯誤,比如說「未知數據庫格式(mdb)」。另外我注意到一件事情:當您使用Office在Ms Access中打開該數據庫時,出於某種原因它以「只讀」模式打開。任何人都可以幫忙嗎?這個問題的原因是什麼?從Delphi 7打開Access數據庫的問題
回答
我認爲你最可能的問題是使用MDAC,使用註冊表來檢查每臺機器上的版本,看看有沒有工作和不工作的不同之處。
請試試,謝謝:) – 2009-10-24 18:32:28
自從我在Delphi上編程已經很長時間了,但是我記得我在安裝不同版本的MDAC時遇到了問題。比較電腦的工作和那些不工作的版本。
檢查mdac版本的簡單方法是打開regedit並檢查HKEY_CLASSES_ROOT以獲取MDACVer.Version。*標記 – 2009-10-22 13:03:24
,並且因爲檢測到MDAC版本是如此的痛苦,請在此處http://support.microsoft.com/kb/301202尋求幫助和工具。 – fvu 2009-10-22 13:04:22
如果MDACVer.Version.2.81不存在:[升級] [1] [1]:http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=78cac895-efc2-4f8e -a9e0-3a1afbd5922e – 2009-10-22 13:04:51
如果數據庫文件(mdb文件)實際設置爲只讀(例如,如果它已從CD中複製),我以前會得到該錯誤消息。檢查Windows資源管理器中的文件屬性,並確保該文件不是隻讀的。
而且,你嘗試過內訪問做一個緊湊&修復,如Access數據庫經常損壞,此選項往往可以幫助引起的問題的所有方式。
Jet/ACE數據庫不會*經常損壞,除非您不恰當地使用Jet/ACE,並且沒有以適當的方式使用Jet/ACE。 -1 – 2009-10-23 01:25:37
我不同意。我們使用Access作爲我們的軟件數據庫近10年,並且經常損壞,直到我們必須將我們自己的「修復」選項引入到軟件中。 我很欣賞你的觀點,並且知道你在Access方面也有很多經驗,但這並不是虐待,只是一個事實,當它被大量使用時。 – 2009-10-23 07:50:33
「它經常損壞,直到我們必須將我們自己的」修復「選項引入到軟件中」 - 在那裏:) – onedaywhen 2009-10-23 09:29:42
什麼版本的Access是MDB格式化的?你使用DAO或ADO來訪問數據庫。 MDB在2003年還是2007年?我懷疑它是A2007格式,而您遇到麻煩的機器安裝了A2003或者沒有Access版本。而工作的機器上安裝有A2007。但這只是一個猜測。
您還需要跟蹤只讀問題。
您不需要安裝MSAccess以將.mdb文件用作數據庫,只需安裝MDAC並使用ADO進行連接即可。 – 2009-10-24 07:09:49
Toby:或者您可以使用DAO,因爲它帶有Windows 2000,XP,Vista和7操作系統。 (我認爲德爾福也支持DAO。) – 2009-10-24 18:59:24
你說:「它在我的PC和其他一些PC上運行良好。」
然後它聽起來像你的程序可能沒有任何問題。可能的是,它始終無法工作的PC沒有安裝Microsoft Office或至少Microsoft Access。他們需要安裝ADO才能工作。
如果沒有進一步的線索,機器上的「有時」問題很難診斷。
恐怕我不知道「只讀」問題可能是什麼。
我有Access 2007,但該文件是Access 2000文件(我選擇了最舊的可能文件格式)。有這個問題的計算機也安裝了Access(與我的版本不一樣)。 – 2009-10-23 06:12:58
您是否在有問題的PC上檢查了mdb文件的只讀狀態? – 2009-10-23 07:51:51
對不起,這只是錯誤的,你不需要安裝Access使用MDB文件,你只需要MDAC(從微軟免費下載)。很少有機器可以安裝。 – 2009-10-24 07:10:56
- 1. C#Access數據庫問題
- 2. 在Delphi 7上離開ComboBox的問題
- 3. 參考打開Access數據庫
- 4. 用C#和Delphi-7 Oracle數據庫連接問題
- 5. Access數據庫的C#查詢問題
- 6. 如何使用Delphi打開Access 97數據文件
- 7. 問題,同時打印從數據庫
- 8. 問題將Access 2007數據庫從win XP升級到Win 7 64位機器
- 9. Access數據庫分割問題
- 10. 從數據庫打開表
- 11. MS Access - 從URL打開數據庫表格
- 12. 從Access數據庫
- 13. 數據庫開發問題
- 14. 使用Access 2010打開和編輯Access 2003的問題
- 15. android零星的數據庫沒有打開的問題
- 16. Windows 7中的Delphi VCL「TaskDialog」問題
- 17. 在Delphi 7中的FormShow問題
- 18. SQLite - 打開存在數據庫的問題
- 19. 在Python中打開berkeley數據庫的問題
- 20. (delphi)打印圖像問題
- 21. 用c#打開Delphi ZLib壓縮數據#
- 22. 如何在C#中打開與Microsoft Access數據庫的連接
- 23. 有問題,從數據庫
- 24. MySQL從數據庫問題
- 25. 問題,從數據庫
- 26. 從MS Access數據庫(VB.NET)
- 27. 如何從Access數據庫
- 28. 從MS Access數據庫
- 29. 如何在android智能手機中打開ms access數據庫?
- 30. 無法識別數據庫格式,而試圖打開Access 97數據庫
您使用的是DAO還是ADO? – 2009-10-24 19:04:29