我有一個使用Access文件的卡西尼應用程序。更新的安裝程序會覆蓋應用程序和數據庫。但是,即使在系統重新啓動後,應用程序仍會看到舊數據。 (還要手動複製MDB文件以確保它已被替換,但它沒有幫助。)爲什麼Jet OLEDB驅動程序緩存我的MDB文件?
應用程序查看新MDB數據的唯一方法是將其安裝到新文件夾。
連接字符串是標準的(我認爲):
Connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
HttpContext.Current.Server.MapPath("App_Data\\" +
ConfigurationManager.AppSettings.Get("dbfile")) + ";Jet OLEDB:Database Password=xxxx";
任何想法是怎麼回事,以及如何避免緩存問題?
更新(應答在評論一些問題):
- 我們只能在Windows 7
- MDB永遠不會被卡西尼應用程序更新重現此問題。我們創建數據庫並將其發送給用戶。 - 我們確實確認該文件已被安裝程序成功替換。事實上,如果我們手動更換它,也會發生同樣的情況。
- Windows重新啓動後,問題仍然存在。
您正在使用哪個操作系統?是Vista還是Win7? – mwolfe02
數據保持陳舊多久?我之前在VB6應用程序中遇到過Jet緩存問題,但它與未被刷新足夠快的寫入有關。 – Gabriel
@ m0sa所以,你有一個正在運行的Web應用程序,並且你想運行一個安裝程序來更新它。在替換.mdb文件之前,安裝程序執行的操作究竟是什麼?你停止網絡應用程序?你停止IIS服務?然後,「系統重啓」是什麼意思? (我們通常所說的是「重啓窗口」。)另外,請回答mwolfe02的問題,這很重要。 –