Russian Qt Forum

Программирование => Базы данных => Тема начата: shame от Декабрь 08, 2011, 13:58



Название: Совместный доступ к sqlite базе [РЕШЕНО]
Отправлено: shame от Декабрь 08, 2011, 13:58
Sqlite вроде бы как поддерживает до 10 соединений. Пишу программу на 2 компа. Но почему то при запуске 2 копии она не может работать с базой. Одновременной записи нет, так как я физически не могу делать это одновременно. В чем может быть проблема? Спасибо.


Название: Re: Совместный доступ к sqlite базе
Отправлено: Пантер от Декабрь 08, 2011, 14:01
В чем выражается невозможность работы?


Название: Re: Совместный доступ к sqlite базе
Отправлено: shame от Декабрь 08, 2011, 14:07
В 1 копии открываю программу, которая делает выборку из базы и заносит их в комбобокс. Все больше никаких действий.
Во 2 копии открываю программу, которая делает тоже самое, но я еще пытаюсь занести данные в базу данных. Получаю в ответ database is locked Unable to fetch row


Название: Re: Совместный доступ к sqlite базе
Отправлено: Rem Norton от Декабрь 08, 2011, 16:47
А сам файл с базой со 2-го компа случайно не ReadOnly? все дело легко может быть в правах.


Название: Re: Совместный доступ к sqlite базе
Отправлено: panAlexey от Декабрь 08, 2011, 17:16
интересен вопрос.


Название: Re: Совместный доступ к sqlite базе
Отправлено: Пантер от Декабрь 08, 2011, 17:18
Я юзал SQLite с 15 коннектами - все отлично работало. БД лежала на сетевом диске. Так что проблема не в SQLite. :)


Название: Re: Совместный доступ к sqlite базе
Отправлено: shame от Декабрь 08, 2011, 17:30
2 копии запускаются с одного компьютера под одним пользователем. Права на запись есть. Система линукс, если это имеет значение.
После запуска программы к файлу базы не может получить доступ на запись sqliteman, хотя если наоборот, то все нормально. Буду смотреть исходники sqlitemana.
В программе один раз открывается соединение, которое потом используется. Что может блокировать файл я не знаю  :-\


Название: Re: Совместный доступ к sqlite базе
Отправлено: LisandreL от Декабрь 08, 2011, 18:09
Что может блокировать файл я не знаю  :-\
Незакрытый QSqlQuery с select может.


Название: Re: Совместный доступ к sqlite базе
Отправлено: Rem Norton от Декабрь 08, 2011, 18:15
Зачем ковырять исходники sqliteman'а, не проще показать свои?


Название: Re: Совместный доступ к sqlite базе
Отправлено: shame от Декабрь 08, 2011, 18:36
Спасибо всем и особенно  LisandreL за наводку. Сам нашел где косяк. Я просто в main.cpp сделал select для проверки структуры базы данных, которую и не закрыл. В общем ССЗБ  ;D