アクセスファイルを使用するCassiniアプリケーションがあります。更新されたインストーラは、アプリケーションとデータベースの両方を上書きします。ただし、アプリケーションはシステムの再起動後も古いデータを表示します。 (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";
とキャッシングの問題を回避する方法:
接続文字列は、(私が思う)標準ですか?
更新(コメントでいくつかの質問に答えるために):
- 私たちは、MDBは、カッシーニのアプリケーションによって更新されることはありません
- だけのWindows 7上でこの問題を再現することができます。データベースを作成してユーザーに送信します。 - ファイルがインストーラによって正常に置き換えられたことを確認しました。実際には、手動で置き換えると同じことが起こります。
- Windowsを再起動しても問題は解決しません。
あなたはどのOSで作業していますか?それはVistaかWin7ですか? – mwolfe02
データは古くなっていますか?以前はVB6のアプリケーションでJetのキャッシュに問題がありましたが、十分に速くフラッシュされていない書き込みに関連していました。 – Gabriel
@ m0saしたがって、実行中のWebアプリケーションがあり、インストーラを実行して更新する必要があります。 .mdbファイルを置き換える前に、インストーラは正確にどのような操作を実行しますか? Webアプリケーションを停止しますか? IISサービスを停止しますか?そして、「システムの再起動」とはどういう意味ですか? (私たちが普通に言っているのは、「リブートウインドウ」です。)また、mwolfe02の質問に答えてください。重要です。 –