Russian Qt Forum
Ноябрь 24, 2024, 00:57
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Базы данных
>
Можно ли получить информацию о количестве активных соединений с БД
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Можно ли получить информацию о количестве активных соединений с БД (Прочитано 7368 раз)
break
Гипер активный житель
Offline
Сообщений: 846
Можно ли получить информацию о количестве активных соединений с БД
«
:
Май 04, 2009, 21:28 »
Драйвер IBASE
Требуется получить число активных соединений у БД - для предотвращения обновления БД - если подключены другие пользователи... Предполагаю что в Qt нет средств для такой проверки - тогда какр решать?
Записан
Rcus
Гость
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #1 :
Май 04, 2009, 21:57 »
А субд Interbase или все-таки Firebird? у FB 2.1 есть специальная служебная таблица для этого, а так есть services api и доступ к нативному дескриптору подключения в QSqlDriver
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #2 :
Май 04, 2009, 22:25 »
Firebird 2.0 - ODS 11 - могу конечно перейти и на 2.1 - просто в репозитории ubuntu его не бьло на момент когда БД понадобилось использовать...(как называется служебная таблица - этот вариант вполне подойдет --- MON$ATTACHMENTS ?? )
Появился еще вопрос ведь нельзя создать Базу средствами Qt (в ситуации обновления БД с нуля)? Прийдется иметь пустую болванку и на нее накатывать скрипт?
«
Последнее редактирование: Май 05, 2009, 00:33 от break
»
Записан
ритт
Гость
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #3 :
Май 05, 2009, 00:27 »
create table отменили?
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #4 :
Май 05, 2009, 00:42 »
create database? (просто не уверен что будет работать)
Да и собственно с чего бы этому сработать - я могу выполнить запрос через SqlQuery - которое будет работать только при установленном соединении с БД...
«
Последнее редактирование: Май 05, 2009, 01:06 от break
»
Записан
ритт
Гость
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #5 :
Май 05, 2009, 05:22 »
хз, под мускулем вроде сработает...
а почему не получится соединиться? птиц встроенный?
/* не знаю позволяет ли суперсервер соединяться без указания базы - я не знаток пернатых */
«
Последнее редактирование: Май 05, 2009, 05:24 от Константин
»
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #6 :
Май 05, 2009, 06:34 »
>>create database? (просто не уверен что будет работать)
А ты проверь, запусти демку demo/sqlbrowser, соеденись с БД и в поле запроса введи:
Код:
CREATE TABLE RRRTABLE(
F_ID Integer NOT NULL,
F_EN Varchar(100),
F_RU Varchar(100)
);
у меня даже через драйвер QODBC работает
Записан
Юра.
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #7 :
Май 05, 2009, 06:38 »
а-а-а, пардон, создание БД-то так не прокатит.
break
, тут вариантов не густо получается:
1) Использовать библиотеку
IBPP
2) Использовать драйвер
qtfirebirdibppsqldriver
(на основе IBPP), который
тут на форуме обсуждался
, если конечно он такое позволяет.
3) тоскать с собой пустую БД
«
Последнее редактирование: Май 05, 2009, 06:46 от lit-uriy
»
Записан
Юра.
Tonal
Гость
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #8 :
Май 05, 2009, 07:12 »
Таскать пустую вполне удобно, я так делал, но не прокатит для многопользовательского варианта - доступа к серверу может просто не быть.
CREATE TABLE должно прокатывать - что ему мешает?
Создавать базу похоже через сервис-апи.
Для эксклюзивной работы с базой (изменения структур, например) есть специальный режим shutdown-а. Он выставляется либо утилитой gfix, либо через сервис-апи.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #9 :
Май 05, 2009, 11:10 »
Пока остановлюсь на таскание с собой пустой базы (GBAK с минимумом метаданных), тем более что в текущей задаче пользователю редко прийдется создавать БД. И накатывание на нее полного скрипта обновления (до последней версии) в случае восстановления из этой болванки. Там вообще то уже сделал автоматом чтобы программа проверяла версию БД и Программы и с нужного места накатывала скрипт - другие варианты не хочется трогать т.к. хочу остаться независимым от платформы - программа работает в Linux и Windows.
Все спасибо - буду смотреть хитрый Qt Драйвер.
Записан
break
Гипер активный житель
Offline
Сообщений: 846
Re: Можно ли получить информацию о количестве активных соединений с БД
«
Ответ #10 :
Май 24, 2009, 01:37 »
Все решил с переходом на FB2.1 - там действительно есть таблица RDB$ATTACHMENTS содержащая инфу о текущих соединениях с этой БД
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...