Russian Qt Forum

Qt => Базы данных => Тема начата: ecspertiza от Сентябрь 13, 2011, 10:10



Название: Прервать работу с БД
Отправлено: ecspertiza от Сентябрь 13, 2011, 10:10
Всем привет, и поздравляю всех с праздником :)

Вопрос вот какого плана, имеем базу Sqlite, в какой то момент работы программы необходимо выполнить репликацию с центральной БД. Для этого копируем БД которая есть с новым именем и отправляем на сервер, где все и происходит. Но беда в том что обмен может происходить в фоновом режиме, и когда БД будет копироваться, могут выполняться некоторые действия с базой, можно ли как то на время копирования, прервать все соединения с БД, а желательно еще и запретить новые ?


Название: Re: Прервать работу с БД
Отправлено: Пантер от Сентябрь 13, 2011, 10:25
Скорее всего нет. Делай транзакцию и скидывай БД через дамп.


Название: Re: Прервать работу с БД
Отправлено: ecspertiza от Сентябрь 13, 2011, 10:40
хм... спасибо хороший вариант, теперь осталось узнать как получить дамп, желательно запросом, ибо нет возможности юзать прогу sqlite.exe . Или нужно свою ф-цию писать для получения дампа ? мне кажется  что по любому должно быть что то готовое.


Название: Re: Прервать работу с БД
Отправлено: Пантер от Сентябрь 13, 2011, 10:43
Это тебе проще поискать на сайте SQLite.


Название: Re: Прервать работу с БД
Отправлено: LisandreL от Сентябрь 13, 2011, 15:14
http://www.sqlite.org/backup.html


Название: Re: Прервать работу с БД
Отправлено: ecspertiza от Сентябрь 13, 2011, 20:35
Уже тоже нашел, спасибо, вот только сейчас с разработчиками стали обсуждать возможные другие пути.

Насколько понимаю что бы заюзать эту тему из сылки нужно будет подключить заголовочники из Sqlite драйверов которые в Qt есть ?