1

Access データベースと対話する C# アプリケーションがあります。テーブルと新しい列に対してオブジェクト
を実行すると、次のエラーが表示されます。OleDbCommandALTERADD

OleDbException: データベース エンジンは、別の人またはプロセスによって既に使用されているため、テーブルをロックできませんでした。

データをうまく操作できますが。ただし、MS Access でクエリを直接実行すると、正しく動作します。

注: 私のデータベースは閉じられており、誰もそれを使用していません。

どうすればこれを解決できますか?

4

1 に答える 1

0

これを試してみてください

次の接続文字列を使用します

db.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\<Your database name>;Persist Security Info=False;")

次の追加プロパティとともに

db.Properties("Jet OLEDB:Connection Control") = 1

つまり、表の変更クエリを作成するには、データベースを排他モードで開く必要があります。または、C# で次の方法でこのプロパティを設定することもできます

CN.Mode =adModeShareExclusive

私はコードをテストしていませんが、うまくいくはずです。

于 2012-10-27T06:09:22.787 に答える