我们有2个遗留系统 - 一个位于C++
,另一个位于C#
,连接到同一个access database
。 access database
不受密码保护,我们使用以下连接字符串连接到数据库
Provider=Microsoft.Jet.OLEDB.4.0; Persist Security Info=False ;Data Source= AlarmHistory.mdb
C#
应用程序每10秒轮询一次数据库中的表。一旦进入,C#
应用程序崩溃并显示错误消息 -
System.Data.OleDb.OleDbException: Cannot start your application. The workgroup information file is missing or opened exclusively by another user.
日志分析显示两个应用程序都没有同时访问数据库...有什么可能导致这种情况的想法...请帮助
答案 0 :(得分:-1)
他们可能无法在同一时间访问数据库,但该错误消息表明他们(或其他人)正在同时访问锁定文件。轮询是否每次都打开和关闭连接?您可以将打开和关闭移动到计时器外部,以便打开连接并在应用程序的生命周期内保持打开状态。