1

私は VS2010 で、2007 Access データベースを使用する VB.NET アプリケーションを作成しましたMenuDB.mdb。開発中、すべてが順調でした。

公開した今、何らかの理由でアプリがデータベースに接続していないため、奇妙なエラーが発生しています。

アプリケーションをインストールして実行しましたが、開くとすぐに次のエラーが発生します。

System.Data.OleDb.OleDbException (0x80004005): Could not find file 
'C:\Users\Administrator\AppData\Local\Apps\2.0\Data\OV86PXJA.K3R\8575R5AY.95Z\menu..tion_0d4fa454d69e8e6b_0001.0000_8340d263807cbb71\Data\MenuDB.accdb'.

アプリケーションをデータベースに関連付ける方法に問題があることはわかっていますが、どの方法が正しいかわかりません。ソリューション エクスプローラーで、ビルドの種類MenuDB.accdbを「コンテンツ」に変更しました (以前は埋め込みリソースでした)。しかし、どちらの方法でも機能しません。私の App.config には、次の接続文字列があります。

connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\MenuDB.accdb"

アプリケーションを展開するときに、データベースがどこにインストールされていても、アプリケーション フォルダーに格納する必要があります。どうやってやるの?

編集

動作する限り、データベースをターゲットマシンのどこかに自分で貼り付ける必要があるような方法で展開してもかまいません。

4

1 に答える 1

0

複数のユーザーが同じまたは類似のデータベースを使用していて、SQL サーバー (MySQL、MSSQL など) にアクセスできない場合は、すべてのユーザーが使用する中央の場所 (できればネットワークの場所) にデータベースを同じ場所に配置します。ネットワーク上にあるデータベースの場所に対応するように、接続文字列にアクセスして変更します。

簡単なデータの取得/送信を行う場合、Access は最大 10 人のユーザーを処理できますが、他のユーザーがデータ オブジェクトを介してアクセスしているときにアクセスを開いている場合は、アクセスをロックアウトすることができます。

于 2012-11-27T19:36:32.953 に答える