C#からOLEDBを介してaccessファイルに接続するときエラーになります
解決したいこと
C#からOLEDBを介してaccessファイルに接続しています。
accessファイルは1台のPC(Windows10)に共有フォルダを作成して、
そのファイルを10台くらいで共有しているのですが、
同時に接続するタイミングが悪いと
OleDbDataAdapter.Fill(DataTable);
や
OleDbConnection.Open();
のときエラーになります。
(競合しない限りはエラーになりません)
Try Catchで処理する以外の、他の解決策はありますでしょうか?
例えば、「接続できない」、「開けない」などを判定して、できないときは終了する
例えば、Accessファイル側に何か設定をする
など
ご回答よろしくお願いいたします。
発生している問題・エラー
System.Data.OleDb.OleDbException (0x80004005): このデータベースは、マシン '******' のユーザー 'Admin' が開いています。データベースが使用可能になった時点で、再度実行してください。
System.Data.OleDb.OleDbException (0x80004005): ファイル '******.accdb' を開くか、書き込むことができませんでした。他のユーザーが排他的に開いているか、データの表示と書き込みを行う権限がありません。
System.Data.OleDb.OleDbException (0x80004005): マシン '******' のユーザー 'Admin' がデータベースを開けない状態、またはロックできない状態にしています。
該当するソースコード
using OleDbConnection cn = new OleDbConnection(******);
using System.Data.DataTable table = new System.Data.DataTable();
using OleDbCommand sqlCm = cn.CreateCommand();
using OleDbDataAdapter adapter = new OleDbDataAdapter(sqlCm);
sqlCm.CommandText = "***SELECT句***";
adapter.Fill(table); //←ここでエラーになる
自分で試したこと
今はTry Catchで凌いでいます。