2011-06-27 8 views
0

私は、C#で書かれた請求書作成アプリケーションを、ストレージ用のAccessデータベース(.mdbファイル)を使用しています。私は、データベースへのアクセスを共有する複数のユーザーをサポートするアプリケーションが欲しいが、これはAccessデータベースへのマルチユーザーアクセスを有効にするにはどうすればよいですか?

The database has been opened exclusively by another user, or you do not have permission to open it

のようなエラーメッセージで失敗し、私は複数のユーザーがファイルにアクセスできるようにするために何をしますか?

+0

あなたはエラーメッセージをGoogleで探知しましたか?そうでない場合は、なぜ投稿していますか? –

答えて

2

あなたが本当にそれをしなければならないのならば(それにアクセスするのは恥ずかしいです)、あなたはアクセスがファイルベースであることを認識しなければなりません。

基本的には、(ドライバを使用して)データベースファイルに接続するため、複数の同時ユーザーを許可するには、データベースを配置するファイル共有のネットワークが必要です。また、複数のユーザーがアクセスできるようにデータベースが開かれていることを確認する必要があります。私はこれがデータベースやsoemthingの設定であることを覚えていると思います。それがロックファイルを作成するように強制しました。

これは、SQL Serverに移行し、ネットワーク/マルチユーザーになると実際にマイナス面を示し始めます。マイクロソフトから約10年は落胆しています。これは私が覚えていると思う1つの理由です - それは理にかなっていないので、私は15年前にマルチユーザへのアクセスをやめました。

+0

アクセスのハーシッシングのためにDownvoted。適切な設定を使用していれば、合理的な人口の中で複数のユーザーがうまく動作します。 Jet/ACEは、存在していた限り、マルチユーザーであり、信頼性があります。非推奨の申し立てに関しては、MSはJet/ACEが主流の開発ツールで使用することを非難していますが、ジェット/ ACEはCOMベースであり、 .NETのアーキテクチャー機能を備えています。適切なコンテキストで使用すると、それはまだ完全に優れたデータストアです。 –