由於MS Access數據庫文件在打開.mdb文件時生成一個.ldb鎖定文件,所以我得到錯誤,試圖在光盤上運行一個Delphi應用程序,其中的數據庫文件也在在CD上。我可以用Delphi打開一個MS訪問mdb文件光盤
有沒有解決這個問題的方法?
由於MS Access數據庫文件在打開.mdb文件時生成一個.ldb鎖定文件,所以我得到錯誤,試圖在光盤上運行一個Delphi應用程序,其中的數據庫文件也在在CD上。我可以用Delphi打開一個MS訪問mdb文件光盤
有沒有解決這個問題的方法?
是的。您需要指定您以只讀模式打開數據庫。你沒有具體說明您打開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;
adModeShareDenyWrite防止其他人使用寫入權限打開連接;不會使當前會話的連接只讀。是adoShareDenyWrite一些德爾福特定的常數,它有不同的含義? – HansUp 2011-05-27 14:22:36
謝謝 - 我會馬上測試 – 2011-05-27 14:27:20
+1,[必須使用adShareDenyWrite在只讀媒體上打開MDB](http://support.microsoft.com/kb/195475) – 2011-05-27 15:25:09
將其複製到用戶的TEMP文件夾並打開它!? :-) – 2011-05-27 13:48:19