数据库已由用户“管理员”处于某种状态。在机器X上防止打开或锁定 - 单用户

时间:2017-11-24 16:46:31

标签: database vb.net ms-access

我有一堆基于遗留访问权限的数据库,我已经使用多年没有问题 - 使用ODBC / DAO / ADO多年来一直在它们之间运行查询。现在突然在最近几天,我开始得到"数据库已被用户置于一个状态...."他们中的一堆错误。

我试图缩小问题范围,但似乎情况正在恶化。我尝试制作数据库文件的本地副本,打开它,然后在同一台机器上,尝试创建与它的ODBC连接,并获取错误。我也试过在数据库上运行连续查询并仍然得到相同的东西(我的本地机器上的文件的副本,所以只有我的单一连接,基本上连接到数据库,运行查询,关闭连接,等待2分钟,然后尝试打开一个新的连接 - 失败 - 所以它绝对不是一个多用户限制问题或类似的东西。

问题在多个平台上是一致的(直接在MS Access(2010和2013)中,Excel(2010和2013)查询Access数据库,以及Windows Forms VB.net应用程序尝试查询访问数据库(通过数据集,OLEDB和ADO)

直到本周所有这些应用程序都按设计工作并且已经存在多年了 - 我是唯一正在研究这些内容的开发人员,所以我知道编程中的任何内容都没有改变,因此它必须是一个外部问题。 / p>

后端数据库驻留在共享服务器驱动器上(服务器运行的是Windows Server 2008) - 我们没有与服务器或网络发生任何其他连接问题;它仅限于访问数据库文件的连接。

有没有人知道ODBC驱动程序最近(在过去一周左右)是否有变化?也许MS更新?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您似乎可以通过缓冲Access二进制文件来解决此问题。在定义Access数据库的查询中使用Binary.Buffer函数,然后引用该查询以便在提取每个表的查询中使用二进制文件。注意:我还定义了文件夹路径和文件名的参数。

例如:

createUrlTree

来源为{{3}}