OLEDB例外:数据库引擎无法锁定表



我有一个与访问数据库交互的C#应用程序。
当我执行OleDbCommand对象到ALTER A表和ADD新列时,我会收到一个错误:

OLEDBEXCEPTION:数据库引擎无法锁定表,因为它已经在另一个人或过程中使用。

虽然我可以成功地操纵数据。但是,当我直接在MS访问中执行查询时,它可以正常工作。

注意:我的数据库已关闭,没有人或过程正在使用它。

如何解决此问题?

尝试一下

使用以下连接字符串

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

我虽然尚未测试代码,但它应该适合您。

最新更新