Russian Qt Forum

Qt => Базы данных => Тема начата: MadKriS от Февраль 09, 2010, 21:29



Название: Как узнать существующие на сервере БД ? [РЕШЕНО]
Отправлено: MadKriS от Февраль 09, 2010, 21:29
Привет всем!
У меня вот такой вопрос: можно ли как-нибудь средствами Qt узнать, какие есть на сервере БД базы данных (сорри, за тавталогию)? конкретно - сервер мускула.
Применение данной штуки - в начале программы показываем окошко аутентификации, где надо ввести логин/пароль, а также можно было бы выбрать БД из списка; далее подключаемся к выбранной БД.


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: Пантер от Февраль 09, 2010, 21:31
Вроде, никак...


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: MadKriS от Февраль 09, 2010, 21:37
вообще если реально никак, то я, конечно, обойдусь...;)
но было бы неплохо описанную мною фишку иметь в программе;))


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: SimpleSunny от Февраль 09, 2010, 21:40
Сервер Ваш или в принципе абстрактный? Можно соединится с сервером MySQL каким-то гостевым логином и командой SHOW DATABASES узнать существующие БД.


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: lit-uriy от Февраль 09, 2010, 23:27
Была на форуме такая тема, про Мускуль. Было решение. Нужно поиском вооружиться


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: MadKriS от Февраль 10, 2010, 01:06
Сервер Ваш или в принципе абстрактный? Можно соединится с сервером MySQL каким-то гостевым логином и командой SHOW DATABASES узнать существующие БД.
сервер самый что ни на есть настоящий. ;)


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: voronElf от Февраль 10, 2010, 06:20
Средствами Qt врядли, средствами сервера можно, т.е. в виде ответа на специальный sql запрос, в MySql это "show databases" (как писали выше), у других серверов БД чтото похожее должно быть


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: MadKriS от Февраль 11, 2010, 10:55
Средствами Qt врядли, средствами сервера можно, т.е. в виде ответа на специальный sql запрос, в MySql это "show databases" (как писали выше), у других серверов БД чтото похожее должно быть
Ага, show databases подходит.

Другой вопрос: можно ли как-нибудь подключиться просто к серверу, а не к конкретной БД, и выполнить эту команду? а то, допустим, мне может быть неизвестно ни одно из названий БД на сервере, и т.о. я не могу ни к одной из них подключиться. ;)


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: BRE от Февраль 11, 2010, 11:03
Другой вопрос: можно ли как-нибудь подключиться просто к серверу, а не к конкретной БД, и выполнить эту команду? а то, допустим, мне может быть неизвестно ни одно из названий БД на сервере, и т.о. я не могу ни к одной из них подключиться. ;)
Ну так у MySql есть обязательная системная БД, под названием mysql.
Только, доступ к ней скорее всего будет ограничен.


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: voronElf от Февраль 11, 2010, 11:51
А если при подключении просто не указывать имя бд не прокатывает ? (сам не пробовал, не знаю)


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: Kolobok от Февраль 11, 2010, 12:06
А если при подключении просто не указывать имя бд не прокатывает ? (сам не пробовал, не знаю)
Прокатывает.


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: voronElf от Февраль 11, 2010, 12:15
Ну раз прокатывает, вот и ответ: подключаемся не указывая имя бд, делаем show databases, отключаемся и с большой радостью используем извлеченные данные  ;)


Название: Re: Как узнать существующие на сервере БД ?
Отправлено: MadKriS от Март 14, 2010, 17:04
Ну раз прокатывает, вот и ответ: подключаемся не указывая имя бд, делаем show databases, отключаемся и с большой радостью используем извлеченные данные  ;)
Ага, так и сделал. Всё замечтатетельно работаеть.)