2013-09-27 82 views
0

我们有2个遗留系统 - 一个在C++和其他在C#连接到同一access database。该access database是没有密码保护,我们使用以下连接字符串来连接数据库问题与Microsoft Access

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. 

日志分析表明,无论是应用程序不能同时访问数据库...什么可能会导致这种情况的任何想法...请帮助

+2

而不是检查应用程序日志使用像procmon中的一个工具,真正检查文件是否在被其他用户使用。应用程序可能会报告它已完成数据库工作,但仍然保持文件句柄处于打开状态。 –

回答

-1

他们可能不会恰好同时访问数据库,但错误信息表明,他们(或别的东西)是在同一时间访问锁定文件。投票是否每次开启和关闭连接?你可以移动的开放,从而使连接打开关闭到计时器外,并保持开放的应用程序的生命。

+0

并确保文件始终被锁定????? –

+0

文件不会被锁定,它只是简单地专门创建过程中锁定。所以通过保持连接打开,锁定文件将不会继续被创建和销毁。 – Makita