2011-05-27 53 views
5

由於MS Access數據庫文件在打開.mdb文件時生成一個.ldb鎖定文件,所以我得到錯誤,試圖在光盤上運行一個Delphi應用程序,其中的數據庫文件也在在CD上。我可以用Delphi打開一個MS訪問mdb文件光盤

有沒有解決這個問題的方法?

+6

將其複製到用戶的TEMP文件夾並打開它!? :-) – 2011-05-27 13:48:19

回答

14

是的。您需要指定您以只讀模式打開數據庫。你沒有具體說明您打開Access數據庫,但是,例如,如果你使用的ADODB COM對象,你會做這樣的事情你對你的ADODB連接對象:

conn.Provider := 'Microsoft.Jet.Oledb.4.0'; 
    conn.Mode := adShareDenyWrite; 
    conn.Open('database.mdb'); 

或連接字符串中本身:

conn.ConnectionString := 'Provider=Microsoft.Jet.OLEDB.4.0;' + 
     'Data Source=database.mdb;' + 
     'Mode=Share Deny Write'; 
    conn.Open; 
+1

adModeShareDenyWrite防止其他人使用寫入權限打開連接;不會使當前會話的連接只讀。是adoShareDenyWrite一些德爾福特定的常數,它有不同的含義? – HansUp 2011-05-27 14:22:36

+0

謝謝 - 我會馬上測試 – 2011-05-27 14:27:20

+3

+1,[必須使用adShareDenyWrite在只讀媒體上打開MDB](http://support.microsoft.com/kb/195475) – 2011-05-27 15:25:09

相關問題