C# Microsoft Jet数据库引擎无法打开其他用户已以独占方式打开的文件,或者您需要查看其数据的权限

C# Microsoft Jet数据库引擎无法打开其他用户已以独占方式打开的文件,或者您需要查看其数据的权限,c#,ms-access,C#,Ms Access,首先,请不要把它标记为重复的,我知道这里已经问过多次了,但是没有一个链接对我有帮助。 我正在尝试访问位于共享驱动器上的数据库,并且mdb文件和存储该文件的文件夹对每个人都具有完全访问权限。我在两台不同的机器上托管了我的应用程序 下面是连接到access DB的代码 OleDbDataAdapter dataAdapter = null; DataTable dtAttendance = new DataTable(); try { str

首先,请不要把它标记为重复的,我知道这里已经问过多次了,但是没有一个链接对我有帮助。 我正在尝试访问位于共享驱动器上的数据库,并且mdb文件和存储该文件的文件夹对每个人都具有完全访问权限。我在两台不同的机器上托管了我的应用程序

下面是连接到access DB的代码

       OleDbDataAdapter dataAdapter = null;
    DataTable dtAttendance = new DataTable();

    try
    {

        string conStr = System.Configuration.ConfigurationManager.ConnectionStrings["AccessDBPath"].ToString();
        using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Mode= Share Deny None;Data Source= " + conStr))
        {
            conn.Open();
            OleDbCommand cmd = new OleDbCommand(@"Select EmployeeId AS UserId,AttendanceDate , format(Int(Duration/60),'0') AS Duration,format(Duration Mod  60,'0') AS Remain FROM AttendanceLogs 
                where EmployeeId =" + userid.ToString() + " and Year(AttendanceDate)="+year+" and Month(AttendanceDate)="+month+"  order by AttendanceDate desc", conn);
            dataAdapter = new OleDbDataAdapter();
            dataAdapter.SelectCommand = cmd;
            dataAdapter.Fill(dtAttendance);
            conn.Close();
        }
     }
  catch(Exception ee)
   {}

只有在我第一次测试它时,它才正常工作,此后它开始抛出上述错误。

完成任务后,您是否关闭了连接?同时尝试重新启动系统,这可能会解决问题。但是请注意,你打开连接时必须关闭连接。你能发布你的代码吗?在打开连接之前,连接状态是什么?@RohitPrakash状态是关闭的,我检查了它。在这种情况下,可能存在一些用户权限问题。你可以在这里找到你的解决方案,