Проблема с БД (SQLite) |
Здравствуйте, гость ( Вход | Регистрация )
Проблема с БД (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 |
У 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 |
Ну да, отвиснет. Просто в первом посте не сказано что она виснет навсегда.. В этом случае я не знаю в чем может быть проблема. Попробуй пошаговую отладку. Пошаговая отладка приводит меня к строчке 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 |
Да ну, там темно, я там никого не знаю)))
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 17:27 |