У меня есть приложение, написанное в MS Access 2007-2010, а серверная часть представляет собой базу данных SQL.
После создания новой базы данных, когда я просматриваю записи из SQL в отчете Access, пытаюсь отредактировать или ввести новые результаты ввода с ошибкой времени выполнения 3197.
Конкретная ошибка гласит: эта запись была изменена другим пользователем с тех пор, как вы начали ее редактировать.
Затем у меня есть параметры «Копировать в буфер обмена» и «Удалить изменения», а «Сохранить запись» неактивно. Нажатие на изменения Drop приводит к ошибке:
«Ошибка выполнения «3197». Ядро базы данных Microsoft Access остановило процесс, поскольку вы и другой пользователь пытаетесь одновременно изменить одни и те же данные».
Затем я посмотрел в SQL и запросил базу данных с помощью EXEC sp_who2 'Active', и я вижу, что имя пользователя, которое я использую для SQL, является RUNNABLE, в то время как пользователь, используемый приложением Access (закодированный в Access VBA), ПРИОСТАНОВЛЕН (команда, которую он приостановлено на SELECT).
У меня есть другие базы данных, которые построены таким же образом и работают без проблем. Я проверил sp_who2 в рабочей базе данных, когда она работает с Access, и пользователь, который ПРИОСТАНОВЛЕН для «проблемной» базы данных, спит с этой.
Я проверил разрешения для обеих баз данных и проверил разрешения для пользователей в разделе «Безопасность» -> «Входы в систему» и не вижу ничего, что я мог бы пометить как проблему (может быть, кто-то еще может?).
Не уверен, почему это происходит и почему база данных заблокирована пользователем SQL и не позволяет пользователю доступа обновлять соответствующие записи.
Кто-нибудь может пролить свет на этот вопрос?
Спасибо.