我有一堆基于遗留访问权限的数据库,我已经使用多年没有问题 - 使用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更新?
提前致谢!
答案 0 :(得分:0)
您似乎可以通过缓冲Access二进制文件来解决此问题。在定义Access数据库的查询中使用Binary.Buffer函数,然后引用该查询以便在提取每个表的查询中使用二进制文件。注意:我还定义了文件夹路径和文件名的参数。
例如:
createUrlTree
来源为{{3}}