Название: события от БД Отправлено: vasasol от Февраль 11, 2010, 22:21 Здравствуйте!
вот захотелось от MySql 5.1 получать события об изменениях в БД пробую так: Код: int main(int argc, char *argv[]) Получаю "Банан!!!!!!" Что я не дописал? Название: Re: события от БД Отправлено: KADABRA от Февраль 11, 2010, 22:24 вот захотелось от MySql 5.1 получать события об изменениях в БД С какой версией клиентской библиотеки mysql собрана Qt?Название: Re: события от БД Отправлено: vasasol от Февраль 11, 2010, 22:36 вот захотелось от MySql 5.1 получать события об изменениях в БД С какой версией клиентской библиотеки mysql собрана Qt?4.5.3 Название: Re: события от БД Отправлено: KADABRA от Февраль 11, 2010, 23:30 вот захотелось от MySql 5.1 получать события об изменениях в БД С какой версией клиентской библиотеки mysql собрана Qt?Qt самосборная? Если нет, то скорее всего она собрана с библиотекой версии 5.0.x, тогда надо пересобрать плагин sqldrivers/qsqlmysql4 со свежей версией библиотеки, которая идёт в комплекте с MySQL. Название: Re: события от БД Отправлено: lit-uriy от Февраль 12, 2010, 00:15 vasasol, по моему ни один из SQL-драйверов Qt не имеет поддержки уведомлений (событий)
Название: Re: события от БД Отправлено: vasasol от Февраль 12, 2010, 00:23 вот захотелось от MySql 5.1 получать события об изменениях в БД С какой версией клиентской библиотеки mysql собрана Qt?Qt самосборная? Если нет, то скорее всего она собрана с библиотекой версии 5.0.x, тогда надо пересобрать плагин sqldrivers/qsqlmysql4 со свежей версией библиотеки, которая идёт в комплекте с MySQL. Название: Re: события от БД Отправлено: lit-uriy от Февраль 12, 2010, 00:24 , вот от драйвера мускуля, Qt 4.6.0
Код
Название: Re: события от БД Отправлено: vasasol от Февраль 12, 2010, 01:12 vasasol, по моему ни один из SQL-драйверов Qt не имеет поддержки уведомлений (событий) А как решить тогда задачу?Название: Re: события от БД Отправлено: lit-uriy от Февраль 12, 2010, 01:36 1) использовать клиентскую библиотеку СУБД
2) по таймеру проверять какую-либо таблицу в БД Название: Re: события от БД Отправлено: vasasol от Февраль 12, 2010, 02:06 таймер не привлекает - это понятно как и неинтересно ..... а первый вариант как реализуется?
Название: Re: события от БД Отправлено: break от Февраль 12, 2010, 05:16 Что-то подобное обсуждалось здесь http://www.prog.org.ru/topic_11523_0.html и здесь http://www.prog.org.ru/topic_4577_0.html
Кстати там есть ссылка http://labs.trolltech.com/blogs/2007/11/02/asynchronous-database-event-notifications/ в которой говорится что события от БД работают в драйвере Postgress и Firebird Название: Re: события от БД Отправлено: Пантер от Февраль 12, 2010, 07:32 В Postgress работает, проверено.
Название: Re: события от БД Отправлено: lit-uriy от Февраль 12, 2010, 15:01 >>а первый вариант как реализуется?
Ну используя API СУБД. Например для Firebirda обычно пользуют библиотеку ibpp, не знаю почему, может родное API не очень удобное. Я с мускулем не знаком, поэтому конкретно сказать не могу. >>...в которой говорится что события от БД работают в драйвере Postgress и Firebird Да, в исходниках драйвера Firebird'а я видел, что возвращается true, но работу не проверял. Название: Re: события от БД Отправлено: KADABRA от Февраль 12, 2010, 18:11 1) использовать клиентскую библиотеку СУБД Ещё можно дописать драйвер :)2) по таймеру проверять какую-либо таблицу в БД Название: Re: события от БД Отправлено: lit-uriy от Февраль 12, 2010, 21:04 >>Ещё можно дописать драйвер
угу Название: Re: события от БД Отправлено: ax от Февраль 13, 2010, 01:44 попробуй вставить после
Код: app.connect(...); Код: db.driver()->subscribeToNotification("tvoy_notification"); Название: Re: события от БД Отправлено: lit-uriy от Февраль 13, 2010, 08:34 axax, а чем это поможет на мускуле, если драйвер Qt не поддерживает уведомления.
Название: Re: события от БД Отправлено: SABROG от Февраль 13, 2010, 09:47 Тоже как-то хотел избавиться от постоянной проверки таблицы и найти способ общаться с БД callback'ами от неё. Только у меня база MSSQL, почитав темы на sql.ru пришел к выводу, что это такие дебри, что лучше даже не заморачиваться, т.к. либо получиться оверхед, либо костыль и ни одного из решений не удовлетворит полностью все твои потребности.
Название: Re: события от БД Отправлено: ритт от Февраль 15, 2010, 09:41 а разве мускуль уже научился подписывать на/уведомлять о событиях?
http://search.mysql.com/search?site=refman-55&q=notification&lr=lang_en |