Сообщения о конфликте записи внезапно начинают происходить в связанных таблицах ODBC - PullRequest
2 голосов
/ 14 июля 2010

У меня есть база данных mySQL, которая отслеживает наши проекты и управляет отображением информации на нашем веб-сайте. Для простоты обновления базы данных я настроил базу данных доступа, которая использовала соединение ODBC (MySQL ODBC 5.1) для редактирования данных. Последние несколько месяцев он работал нормально, без сбоев.

Однако, прошлой ночью пользователи (2 из 3) испытали ошибки записи конфликта. Пользователи могут только скопировать изменения в буфер обмена или удалить изменения. Поэтому, думая, что с базой данных Access что-то не так, я создал новую базу данных доступа, соединил таблицы через соединение ODBC, и проблема все же возникла. Я также удалил и заново создал соединение ODBC, но безрезультатно.

Так куда мне идти отсюда? Что могло вызвать возникновение этой проблемы сейчас, а не когда я настраивал ее несколько месяцев назад?

  • За последнюю неделю (+5 дней) изменений на сервере базы данных, базе данных или базе данных доступа не было.
  • Мы убедились, что только один экземпляр Access пытается повлиять на базу данных.
  • Все таблицы имеют PK и столбец отметки времени.
  • Мы не используем никаких форм, просто используем интерфейс Table.
  • Сервер не был обновлен и не имеет соединения ODBC.
  • Мы используем Access 2007
  • Ничего не отображается в журнале ошибок сервера, когда мы пытаемся обновить строки.

Ответы [ 2 ]

3 голосов
/ 21 июля 2010

Как правило, все базы данных ODBC, используемые в Access, должны иметь PK во всех таблицах и поля отметок времени в них, которые обновляются при каждом изменении записи.Access использует это в связанных формах для обработки обновлений связанных данных, а Jet использует их для выбора того, как сообщить базе данных ODBC, что нужно обновлять.

Возможно, вы сможете заставить работать некоторые таблицы без PKи отметку времени, но я обнаружил, что лучше всего убедиться, что они есть во всех ваших таблицах, чтобы вы не столкнулись с проблемой (конечно, у меня никогда не было таблиц без PK) .y

0 голосов
/ 12 сентября 2018

Убедитесь, что столбцы BIT имеют значения по умолчанию, отличные от NULL. Любые записи, для которых столбец BIT имеет значение NULL, могут получить ошибку конфликта записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...