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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Использование одного подключения к MySql в разных потоках  (Прочитано 7324 раз)
Axel
Гость
« : Февраль 22, 2008, 18:51 »

Возникает ощибка при использовании одного подключения к MySql в разных потоках, какие существуют способы решения этой проблемы ?
Записан
ритт
Гость
« Ответ #1 : Февраль 22, 2008, 19:05 »

искать по форуму...адназначна
Записан
Mikhail
Программист
*****
Offline Offline

Сообщений: 587


Просмотр профиля
« Ответ #2 : Февраль 22, 2008, 23:10 »

Возникает ощибка при использовании одного подключения к MySql в разных потоках, какие существуют способы решения этой проблемы ?

Еще бы знать какая ошибка.
Записан
IGHOR
Крякер
****
Offline Offline

Сообщений: 390



Просмотр профиля WWW
« Ответ #3 : Февраль 24, 2008, 04:59 »

mutex
Записан
ритт
Гость
« Ответ #4 : Февраль 25, 2008, 07:20 »

нет
у кутэ на мускуль такое ограничение
обходится
Записан
Axel
Гость
« Ответ #5 : Февраль 25, 2008, 13:35 »

нет
у кутэ на мускуль такое ограничение
обходится
Не понял, можно подробнее ?
Mutex не помог ((( ...
Записан
ритт
Гость
« Ответ #6 : Февраль 25, 2008, 16:50 »

и не должен был

тебе критично использовать в разных потоках одно подключение? если нет, клонируй коннект и не усложняй жизнь
Записан
DpoHro
Гость
« Ответ #7 : Февраль 25, 2008, 18:16 »

Что значит "клонируй коннект", извините?
Записан
ритт
Гость
« Ответ #8 : Февраль 26, 2008, 05:20 »

QSqlDatabase QSqlDatabase::cloneDatabase ( const QSqlDatabase & other, const QString & connectionName )   [static]
как вариант
Записан
DpoHro
Гость
« Ответ #9 : Февраль 27, 2008, 01:11 »

Пардон, не дочитал мануал =)
А не есть ли сие эквивалент просто созданию коннекта с новым идентификатором?
Записан
ритт
Гость
« Ответ #10 : Февраль 27, 2008, 03:01 »

оно и есть

дело в том, что для каждого потока для использования соединения должна быть вызвана мускуль_инит (ручками или при открытии нового соединения)

если уж совсем невтерпёжь пользовать _ОДИН_ коннект (к мускуль-серверу), создаём отдельный тред с требуемым набором слотов и сигналов, открываем в нём коннект и пользуем коннект через получившуюся обёртку

другой вариант - обратить свой взор на libqxt - там уже реализовано асинхронное обращение к скл-серверу (несколько схожим образом, но с бОльшими затратами памяти, т.к. результат запроса полностью выбирается в буффер)
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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