Недавно мы перенесли базу данных доступа на SQL-сервер. По завершении мы начали тестировать базу данных с использованием базы данных доступа к фронту, которую мы имели (наша предыдущая настройка включала в себя два файла доступа, один для интерфейса и один для задней части). Мы почти сразу получили ошибку.
механизм базы данных доступа Microsoft остановил процесс, потому что вы и другой пользователь одновременно пытаетесь изменить одни и те же данные.
Теперь у нас есть несколько человек, работающих над этими интерфейсами, но во время получения этого сообщения я единственный человек, который обращается к данным. Моим общим процессом для тестирования было вставить данные, используя форму. затем попытайтесь удалить данные. Я знаю, что данные приводят к таблице, и я знаю, что я единственный, кто просматривает или пытается отредактировать эту информацию, мы использовали соединение ODBC для присоединения SQL-сервера к интерфейсу. Любые предложения или помощь приветствуются, я буду внимательно следить за этой нитью. Ожидайте любых вопросов, на которые вы просите меня ответить относительно быстро.
Ответ 1
В этой статье вы обнаружите, что ошибка может быть вызвана типом данных бит:
Эта проблема возникает, если поля с битовым типом данных в базе данных на базе SQL Server остались пустыми. Microsoft Access интерпретирует пустые поля как поля, которые содержат значения Null, а механизм базы данных Jet не освобождает их. В результате записи остаются заблокированными и недоступны для удаления.
Обратите внимание, что вы всегда должны иметь первичный ключ или уникальный ключ для обновления данных с SQL Server.
Ответ 2
Я только что установил Access 2016, и эта ошибка пыталась импортировать таблицы 2013 доступа из accdb.
По-видимому, back-end движок 2016 теперь является SQL Server. Я удалил поле, которое я намеревался использовать, но так и не сделал, поэтому он был полон Nulls. После этого никаких проблем.
Ответ 3
У меня также была эта проблема, как описано выше, подумал, что я отправлю ответ, поскольку ссылка Microsoft больше не работает.
Я перенесла back-end базы данных Access в MySQL на сервере AWS, и любая связанная таблица, которую я пыталась добавить или удалить записи, создала бы ошибку, которая является названием этого потока.
Решение для меня состояло в том, чтобы удалить поле, тип которого было "BIT", поскольку, к счастью, это было старым полем, используемым до того, как я переработал базу данных, поэтому ее можно удалить.
Ответ 4
использовать Compact & Repair Database
Ответ 5
попробуйте не использовать GetDate() в качестве значения по умолчанию при создании столбца таблицы в sql. что фиксировало мою проблему.