Чтение и запись с использованием одной и той же таблицы Access '97: проблемы безопасности потоков? - PullRequest
0 голосов
/ 26 июня 2010

Я поддерживаю программу, которая читает записи из таблицы Access '97 с помощью таймера. Другая программа вне моего контроля записывает записи в эту таблицу. Таким образом, чтение и запись не синхронизированы. Мне интересно, может ли это иногда привести к повреждению данных. Написание среды тестирования сложно по нескольким причинам. Кто-нибудь знает ответ на этот вопрос, чтобы я мог избавить себя от необходимости писать эмулятор?

1 Ответ

0 голосов
/ 26 июня 2010

Под "Access 97" я предполагаю, что вы имеете в виду старые файлы MDB формата Jet 3.x. Управление блокировкой и параллелизмом было слабее в этом более старом формате MDB, чем в более современном формате Jet 4.x, поэтому вы повысите надежность, отказавшись от старого формата 1990-х годов. В Jet 4.x также улучшена поддержка блокировки на уровне строк, что может повлиять на производительность.

Но раньше люди использовали таблицы Jet 3.x для имитации очередей в прежние времена. Я не помню существенных проблем, которые могли быть связаны с повреждением данных. Если это то, чем вы занимаетесь, у нас уже давно есть MSMQ, что дает некоторые реальные преимущества, например, значительно снижает нагрузку на сеть по сравнению с решением для таблицы Jet.

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

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