crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Проблема с БД (SQLite)
Elfinit
  опции профиля:
сообщение 6.10.2009, 12:06
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Вопрос немного общий и в чём-то риторический. Возможна ли ситуация, когда со стороны БД программа может зависнуть (на строчке q.exec(), q.prepare(), например). Не вылететь, а именно зависнуть. Периодически встречается такая ситуация в программе. Грешил на потоки, однако удалось выяснить, что программа стопорится аккурат на строчке q.prepare(). Бывало ли у кого-нибудь такое? Какие есть пути решения?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 9.10.2009, 12:21
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Может у тебя огромное количество записей в таблице или в таблицах и не оптимизированный или не правильный запрос? Тогда может легко подвиснуть, особенно при неправильно составленном запросе. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 9.10.2009, 13:46
Сообщение #3


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


У SQLite есть одно ограеничение - одновременно в нее нельзя записывать из нескольких функций (потоков и т.д.). Если в базу идет запись, то все остальные попытки записи блокируются пока текущая операция записи не завершится. Может быть в этом дело?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 9.10.2009, 22:39
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Цитата(Kagami @ 9.10.2009, 14:46) *
У SQLite есть одно ограеничение - одновременно в нее нельзя записывать из нескольких функций (потоков и т.д.). Если в базу идет запись, то все остальные попытки записи блокируются пока текущая операция записи не завершится. Может быть в этом дело?

Ну тогда вроде как программа должна "отвисать", когда потоки разберутся с очередью,нет?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 9.10.2009, 23:06
Сообщение #5


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Ну да, отвиснет. Просто в первом посте не сказано что она виснет навсегда.. В этом случае я не знаю в чем может быть проблема. Попробуй пошаговую отладку.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 10.10.2009, 15:29
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Цитата(Kagami @ 10.10.2009, 0:06) *
Ну да, отвиснет. Просто в первом посте не сказано что она виснет навсегда.. В этом случае я не знаю в чем может быть проблема. Попробуй пошаговую отладку.

Пошаговая отладка приводит меня к строчке q.prepare() =))
Хотя, я вообще выкинул запрос из этого критичного места, вроде пока без проблем...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Kagami
  опции профиля:
сообщение 10.10.2009, 19:12
Сообщение #7


Старейший участник
****

Группа: Участник
Сообщений: 601
Регистрация: 2.2.2009
Пользователь №: 523

Спасибо сказали: 101 раз(а)




Репутация:   9  


Ну и зашел бы в него :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Elfinit
  опции профиля:
сообщение 11.10.2009, 1:02
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 127
Регистрация: 17.3.2009
Из: Казань
Пользователь №: 619

Спасибо сказали: 7 раз(а)




Репутация:   1  


Да ну, там темно, я там никого не знаю)))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.3.2024, 12:51