| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Базы данных > Ещё раз о SQLite |
| Автор: takedo 23.5.2006, 05:21 |
| Добрый день. Потратил вчера целый день на поиск ответа на вопрос: "Можно ли хотя бы одновременно писать в базу SQLite и из другого потока делать выборку?". Например так: при запуске приложения открываем таблицу 1 и постоянно в рабочем потоке №1 пишем в неё не закрывая, а иногда пытаемся уже из другого рабочего потока №2 выполнить SQL запрос в эту же таблицу 1, не останавливая запись в потоке №1. Ответы были разные, от а) при работе с базой SQLite блокирует файл, до б)ничего не блокируется. Был и промежуточный вариант, когда блокировался только редактируемый участок кода. Как происходит на самом деле? Спрашиваю потому, что без положительного ответа на вопрос не вижу для себя смысла начинать копать в сторону SQLite. В данный момент работаю с dBase, хочу найти альтернативу, так как уж больно много в dBase приколов от Microsoft, хоть они мне уже и не мешают. |
| Автор: gong 25.5.2006, 00:48 | ||
http://www.sqlite.org/cvstrac/wiki?p=MultiThreading
http://www.sqlite.org/lockingv3.html Обратите внимание на раздел: 6.0 How To Corrupt Your Database Files :yasno И самый простой ответ: http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations (drh - автор Sqlite) |
| Автор: takedo 25.5.2006, 05:30 |
| gong, спасибо, толко вот с английским проблемы, был бы сайт хотя бы на немецком... поэтому я и задавал вопрос - думал, что кто-то по русски ответит |