2

次を使用してMS-Accessローカルファイルに接続するC#プログラムがあります。

dbConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + sPath);
dbConnection.Open();

ここで、sPath はローカル ファイル パスです。

プログラムは、SQL 操作の選択、挿入、および更新を行います。同じデータベースにアクセスするために、WiFi LAN 上にある別のコンピューターに C# プログラムを展開したいと考えています。正しいパスを提供するだけでよいと思いますか? それとも何か?データベースは読み取り操作と書き込み操作の両方を許可しますか?

4

1 に答える 1

3

RE: ネットワーク経由でデータベースを共有する

はい、基本的には、.accdb (または .mdb) ファイルを共有フォルダーに配置し、C# プログラムにその場所を指定するだけです。

ノート:

  1. 各マシンには、Access データベース エンジンの独自のコピーがインストールされている必要があります。Access がまだマシンにインストールされていない場合は、ここからAccess データベース エンジンのインストーラーをダウンロードできます。

  2. 複数の同時ユーザーがデータベースにアクセスするには、すべてのユーザーが、データベース ファイルが存在するフォルダー内の関連する .laccdb (または .ldb) ロック ファイルを作成および変更するための十分な権限を持っている必要があります。つまり、すべてのユーザーは、フォルダーへの読み取りアクセス権以上のものを必要とします。(これは、複数の同時ユーザー用に Access バックエンドを初めて展開するときによくある間違いです。)

RE: Wi-Fi

ACE/Jet データベース エンジンは、データベース ファイルへの安定したネットワーク接続に依存しているため、WiFi 信号が弱いために断続的なネットワーク エラーが発生すると、問題が発生します。WiFi の初期の頃は、多くのデータベース アプリケーション (Access データベースを含むがそれに限定されない) でエラーの一般的な原因でした。WiFi テクノロジーは長年にわたって改善されているため、これは以前ほど問題ではありませんが、不安定な WiFiがエラーを引き起こす可能性があることに注意してください(運が悪いと、データベース ファイルが破損することさえあります)。

于 2013-06-22T11:08:41.630 に答える