Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
Цитата

...The precompiled binaries for windows have traditionally been threadsafe. 


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, спасибо, толко вот с английским проблемы, был бы сайт хотя бы на немецком... поэтому я и задавал вопрос - думал, что кто-то по русски ответит smile  

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)