СУБД Access процесс остановлен, так как другой пользователь пытается изменить те же данные

недавно мы перенесли базу данных access на SQL server. По завершении мы начали тестирование базы данных, используя базу данных front end access, которая у нас была (наша предыдущая настройка включала два файла доступа, один для front end и один для back end.) Мы почти сразу получили ошибку.

компонент Microsoft access database engine остановил процесс, поскольку вы и другой пользователь одновременно пытаетесь изменить одни и те же данные.

теперь у нас есть несколько человек работая над этими интерфейсами, но на момент получения этого сообщения, я единственный человек, имеющий доступ к данным. Мой общий процесс тестирования состоял в том, чтобы вставить данные с помощью формы. затем попытайтесь удалить данные. Я знаю, что данные поступают в таблицу, и я знаю, что я единственный, кто просматривает или пытается редактировать эту информацию, мы использовали соединение ODBC для подключения SQL server к интерфейсу. Любые предложения или помощь очень ценятся, я буду контролировать эта тема сильно, поэтому ожидайте, что на любые вопросы, которые вы зададите мне, будут даны ответы относительно быстро.

5 ответов


на в этой статье, вы обнаружите, что ошибка может быть вызвана битовым типом данных:

эта проблема возникает, если поля с типом данных в SQL Серверная база данных оставлена пустой. приложение Microsoft Access интерпретирует пустые поля как поля, содержащие значения NULL, и JET database engine не выпускает их. В результате записи остаются заблокированными и недоступны для удаления.

обратите внимание, что вы должны всегда имейте первичный ключ или уникальный ключ для обновления данных с SQL Server.


Я только что установил Access 2016 и имел эту ошибку, пытаясь импортировать таблицы access 2013 из accdb.

по-видимому, 2016 back-end engine теперь является SQL Server. Я удалил поле, которое намеревался использовать, но никогда не делал, следовательно, оно было полно нулей. После этого никаких проблем.


используйте Compact & Repair Database


У меня также была эта проблема, как описано выше, я думал, что опубликую ответ, поскольку ссылка Microsoft больше не работает.

Я перенес серверную часть базы данных Access в MySQL на сервере AWS, и любая связанная таблица, из которой я пытался добавить или удалить записи, породила бы ошибку, которая является заголовком этого потока.

решение для меня состояло в том, чтобы удалить поле, тип которого был "бит", так как, к счастью, это было старое поле, используемое до того, как я перестроил базу данных так можно убрать.


старайтесь не использовать GetDate() в качестве значения по умолчанию при создании столбца таблицы в sql. это решило мою проблему.