Вы можете использовать Mutex, чтобы ограничить доступ к вашему файлу mdb только одним экземпляром.
using (Mutex m = new Mutex(false, "Global\\TheNameOfTheMutex"))
{
// If you want to wait for 10 seconds for other request to finish
m.WaitOne(TimeSpan.FromSeconds(10),false);
UpdateDatabase(); // or ReadDatabase();
// or you can throw error if another process is accessing your database
//
//if (!m.WaitOne(TimeSpan.Zero, false))
// throw new Exception("Another instance is updating database.");
//else
// UpdateDatabase();
}
То, что делает этот фрагмент кода выше, не позволит любому другому экземпляру вашего приложения вызывать UpdateDatabaseметод, в то время как другой экземпляр уже обращается к вашей базе данных.