Russian Qt Forum
Ноябрь 24, 2024, 11:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Тормозит sqlite  (Прочитано 4354 раз)
Max Payne
Гость
« : Июнь 20, 2010, 23:02 »

Привет всем... Вопрос вот в чем :
Создал большой проект с базой даных, с плеером и куча всего еще... и все было ок пока не дошло до конфигурирования и создания екзе файла...
В проекте использовал qsqlite для создания таблиц...
Вот пример как я это делал
Код:
QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE");
           db.setHostName("locallhost");
           db.setDatabaseName("Help_F3");
           db.setUserName("Max");
           db.setPassword("qwerty");
в проекте все работает ок, все запускаеться...
После того как собрал проект, закинул дллки нужные, запускаю екзе и все...
виснет минут на пять... начал розбираться, понял что дело в базе даных
При открытии приложения создаеться файл похож на мою базу только к имени дописано "journal"
потом через несколько секунд удаляється потом опять создаеться и так при каждом обращении к базе....
Кто с таким сталкивался просьба обяснить или посоветовать что с єтим делать...
Записан
Sergey B.
Программист
*****
Offline Offline

Сообщений: 544



Просмотр профиля WWW
« Ответ #1 : Июнь 21, 2010, 08:10 »

Вот это точно не надо.
Код:
           db.setHostName("locallhost");
           db.setUserName("Max");
           db.setPassword("qwerty");

А тут
Код:
           db.setDatabaseName("Help_F3");

Пропишите путь где будет лежать база, а то она может создаваться не там где вы хотите. Либо в папке с программой, либо в домашнем каталоге пользователя.
Через QApplication::applicationDirPath() либо
http://doc.trolltech.com/4.6/qdesktopservices.html#StandardLocation-enum
« Последнее редактирование: Июнь 21, 2010, 08:16 от Sergey B. » Записан
whirlwind
Гость
« Ответ #2 : Июнь 21, 2010, 13:57 »

При открытии приложения создаеться файл похож на мою базу только к имени дописано "journal"
потом через несколько секунд удаляється потом опять создаеться и так при каждом обращении к базе....
Кто с таким сталкивался просьба обяснить или посоветовать что с єтим делать...
это нормальное поведение для sqlite. Это резервная копия базы, чтобы можно было откатить транзакцию.

Вы уверены, что много времени занимает именно доступ к базе? Что именно вы с ней делаете?

Кстати, файл удаляется после завершения транзакции. Если это происходит через несколько секунд, значит, проблема где-то в другом месте
Записан
Max Payne
Гость
« Ответ #3 : Июнь 22, 2010, 20:21 »

Ясно, почитал, разобрался , спасибо за помощь...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 23.