Название: Можно ли получить информацию о количестве активных соединений с БД Отправлено: break от Май 04, 2009, 21:28 Драйвер IBASE
Требуется получить число активных соединений у БД - для предотвращения обновления БД - если подключены другие пользователи... Предполагаю что в Qt нет средств для такой проверки - тогда какр решать? Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: Rcus от Май 04, 2009, 21:57 А субд Interbase или все-таки Firebird? у FB 2.1 есть специальная служебная таблица для этого, а так есть services api и доступ к нативному дескриптору подключения в QSqlDriver
Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: break от Май 04, 2009, 22:25 Firebird 2.0 - ODS 11 - могу конечно перейти и на 2.1 - просто в репозитории ubuntu его не бьло на момент когда БД понадобилось использовать...(как называется служебная таблица - этот вариант вполне подойдет --- MON$ATTACHMENTS ?? )
Появился еще вопрос ведь нельзя создать Базу средствами Qt (в ситуации обновления БД с нуля)? Прийдется иметь пустую болванку и на нее накатывать скрипт? Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: ритт от Май 05, 2009, 00:27 create table отменили?
Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: break от Май 05, 2009, 00:42 create database? (просто не уверен что будет работать)
Да и собственно с чего бы этому сработать - я могу выполнить запрос через SqlQuery - которое будет работать только при установленном соединении с БД... Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: ритт от Май 05, 2009, 05:22 хз, под мускулем вроде сработает...
а почему не получится соединиться? птиц встроенный? /* не знаю позволяет ли суперсервер соединяться без указания базы - я не знаток пернатых */ Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: lit-uriy от Май 05, 2009, 06:34 >>create database? (просто не уверен что будет работать)
А ты проверь, запусти демку demo/sqlbrowser, соеденись с БД и в поле запроса введи: Код: CREATE TABLE RRRTABLE( Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: lit-uriy от Май 05, 2009, 06:38 а-а-а, пардон, создание БД-то так не прокатит.
break, тут вариантов не густо получается: 1) Использовать библиотеку IBPP (http://www.ibpp.org) 2) Использовать драйвер qtfirebirdibppsqldriver (http://code.google.com/p/qtfirebirdibppsqldriver/) (на основе IBPP), который тут на форуме обсуждался (http://www.prog.org.ru/index.php?topic=8509), если конечно он такое позволяет. 3) тоскать с собой пустую БД Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: Tonal от Май 05, 2009, 07:12 Таскать пустую вполне удобно, я так делал, но не прокатит для многопользовательского варианта - доступа к серверу может просто не быть.
CREATE TABLE должно прокатывать - что ему мешает? Создавать базу похоже через сервис-апи. Для эксклюзивной работы с базой (изменения структур, например) есть специальный режим shutdown-а. Он выставляется либо утилитой gfix, либо через сервис-апи. Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: break от Май 05, 2009, 11:10 Пока остановлюсь на таскание с собой пустой базы (GBAK с минимумом метаданных), тем более что в текущей задаче пользователю редко прийдется создавать БД. И накатывание на нее полного скрипта обновления (до последней версии) в случае восстановления из этой болванки. Там вообще то уже сделал автоматом чтобы программа проверяла версию БД и Программы и с нужного места накатывала скрипт - другие варианты не хочется трогать т.к. хочу остаться независимым от платформы - программа работает в Linux и Windows.
Все спасибо - буду смотреть хитрый Qt Драйвер. Название: Re: Можно ли получить информацию о количестве активных соединений с БД Отправлено: break от Май 24, 2009, 01:37 Все решил с переходом на FB2.1 - там действительно есть таблица RDB$ATTACHMENTS содержащая инфу о текущих соединениях с этой БД
|