Как я могу прочитать из FAQ по SQLite, он поддерживает чтение нескольких процессов (SELECT) и только один процесс, записывающий (INSERT, UPDATE, DELETE) базу данных в любой момент времени:
SQLite использует блокировки чтения / записи для управления доступом к базе данных. Когда какой-либо процесс хочет выполнить запись, он должен заблокировать весь файл базы данных на время его обновления. Но обычно это занимает всего несколько миллисекунд. Другие процессы просто ждут, пока писатель закончит, а затем продолжают свои дела.
Я использую System.Data.SQLite < / strong> через c #.
Может ли кто-нибудь объяснить мне, пожалуйста, как именно происходит этот процесс?
Будет ли этот процесс работать автоматически, и запись SQLiteCommand будет просто ждать, если в той же базе данных уже выполняется другая запись SQLiteCommand?
Или, может быть, это вызовет исключение? Что это за?
Извините, но я не нашел информации об этой механике :)
Спасибо.
ОБНОВЛЕНИЕ:
Я нашел сообщение о том, что возникнет исключение strong> с конкретным кодом ошибки
Это утверждение правильно?
optimized and correct solutions
, не используйте SQLite для чего-то, для чего он не был оптимизирован; это отличная база данных, но это не отличная многопользовательская база данных. - person Tim   schedule 13.03.2013