Обновление, re:
"Редактировать: я обновляю свою таблицу, используя MS Access, я копирую из MS Excell около 10.000 строк и вставляю ее в базу данных с помощью MS Access. Поэтому, когда идет копирование, я хочу быть Я могу видеть это из моей веб-программы. "
Принцип тот же, в начале процесса вставки добавьте строку БД, как в моем первом ответе. Или вы можете установить глобальную переменную в вашем веб-приложении, например, updateInProgress = true
.
Но как долго длится эта копия? Если это менее 5 минут, то, вероятно, больше ничего не стоит делать.
Если вы просто хотите, чтобы пользователь знал, что есть «свежие» данные, вы можете запросить данные о последних датах.
Что за обновление? В обычном смысле SQL Server обеспечивает точность результатов с блокировкой транзакций по умолчанию.
Может быть, вы имеете в виду долгую работу по импорту данных? Или, не дай Бог, какой-нибудь интенсивный, управляемый курсором процесс?
Тогда вы могли бы сделать что-то вроде:
Создать таблицу в базе данных. Позвони, скажи LongJobLog. Он может иметь 3 столбца: идентификатор, дату и время начала и дату и время окончания.
В начале каждого длинного задания добавляйте новое время начала в эту таблицу, обязательно сохраняйте новый идентификатор в переменной.
Когда задание завершится или произойдет ошибка, обновите строку идентификатора с указанием времени окончания.
Ваше приложение будет запрашивать у этой таблицы последние строки (по времени начала), которые все еще имеют нулевое время окончания. Если такие строки существовали, выполняется обновление.
Вам, вероятно, понадобится задание cron, чтобы очистить записи о сбоях заданий.
В качестве альтернативы, эта информация о запуске и остановке, вероятно, доступна в журналах SQL. Хотя, чтобы разобраться, может потребоваться немного работы.