В любом случае, чтобы предвидеть и обрабатывать поврежденные записи в операторе Access SQL? - PullRequest
0 голосов
/ 11 июня 2018

У меня есть разделенная внешняя / внутренняя база данных Access, в которой есть пользовательская форма с множеством происходящих событий.

В частности, список, который заполняет SQL-запрос объединения, не работает, и я изолировалпроблема с поврежденной записью в базе данных.Я сделал копию базы данных, сжал и отремонтировал ее и удалил запись.

Я сделал внешнюю копию, связал ее с серверной копией базы данных и vwalla все исправлено.

Теперьконечно, я не могу исправить фактическую базу данных, потому что десятки людей потенциально могут быть в ней.Сегодня вечером в полночь я попытаюсь вытащить обновление.

У меня есть несколько вопросов, и, конечно, я также открыт для любых других рекомендаций по дизайну.Я собираюсь сделать самое легкое исправление, которое я могу.У меня вопрос, есть ли оператор SQL, который может обрабатывать поврежденную запись?Вот текущая инструкция SQL

SELECT DISTINCT CaseInfo.reviewerID
FROM caseInfo
WHERE caseInfo.reviewerID IS NOT NULL
UNION SELECT 'All' AS 'reviewerID'
FROM caseInfo
ORDER BY reviewerID;

Просто для справки: одна поврежденная запись содержит данные на китайском языке в поле reviewerID (и сумасшедшие числа в других полях).Что-нибудь, что я мог сделать, могло бы повредить этот запрос?К вашему сведению, когда я запускаю его прямо сейчас, я получаю

"Reserved error (-1524); there is no message for this error."

, если это невозможно.Есть еще идеи?Корень проблемы в том, чтобы выяснить, почему эта запись была повреждена, но я не уверен.Как работает база данных, кто-то назначается для загрузки записей непосредственно в базу данных бэкэнда, с ReviewerID, заполненным именем сотрудника, начальными деталями дела, а затем множеством пустых полей.Затем сотрудник извлекает свою переднюю копию, использует список для сортировки своего имени, а затем переходит к использованию пользовательской формы для завершения рассмотрения дела.

Возможно, прямая загрузка дел в серверную часть делает базу данных уязвимой для повреждения.Кроме того, я не сижу рядом с парнем, который загружает случаи, когда он делает это, чтобы знать, может ли он сделать что-то хитрое.Пользовательская форма имеет несколько ограниченных полей и некоторые неограниченные поля, которые обновляются через обновление SQL.Когда я проектировал базу данных и формировал ее, было очень трудно избежать ошибок блокировок, но в конечном итоге я разобрался с ними.Но если бы я мог сделать это снова, я бы, вероятно, не использовал бы какие-либо ограниченные поля и использовал бы всю пользовательскую форму с помощью операторов обновления (но, увы, у меня не было возможности повторить базу данных.)

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

мысли людей?: Р

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