Russian Qt Forum

Qt => Базы данных => Тема начата: Axel от Февраль 22, 2008, 18:51



Название: Использование одного подключения к MySql в разных потоках
Отправлено: Axel от Февраль 22, 2008, 18:51
Возникает ощибка при использовании одного подключения к MySql в разных потоках, какие существуют способы решения этой проблемы ?


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: ритт от Февраль 22, 2008, 19:05
искать по форуму...адназначна


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: Mikhail от Февраль 22, 2008, 23:10
Возникает ощибка при использовании одного подключения к MySql в разных потоках, какие существуют способы решения этой проблемы ?

Еще бы знать какая ошибка.


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: IGHOR от Февраль 24, 2008, 04:59
mutex


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: ритт от Февраль 25, 2008, 07:20
нет
у кутэ на мускуль такое ограничение
обходится


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: Axel от Февраль 25, 2008, 13:35
нет
у кутэ на мускуль такое ограничение
обходится
Не понял, можно подробнее ?
Mutex не помог ((( ...


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: ритт от Февраль 25, 2008, 16:50
и не должен был

тебе критично использовать в разных потоках одно подключение? если нет, клонируй коннект и не усложняй жизнь


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: DpoHro от Февраль 25, 2008, 18:16
Что значит "клонируй коннект", извините?


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: ритт от Февраль 26, 2008, 05:20
QSqlDatabase QSqlDatabase::cloneDatabase ( const QSqlDatabase & other, const QString & connectionName )   [static]
как вариант


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: DpoHro от Февраль 27, 2008, 01:11
Пардон, не дочитал мануал =)
А не есть ли сие эквивалент просто созданию коннекта с новым идентификатором?


Название: Re: Использование одного подключения к MySql в разных потоках
Отправлено: ритт от Февраль 27, 2008, 03:01
оно и есть

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

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

другой вариант - обратить свой взор на libqxt - там уже реализовано асинхронное обращение к скл-серверу (несколько схожим образом, но с бОльшими затратами памяти, т.к. результат запроса полностью выбирается в буффер)