Форум: "Базы";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
ВнизМастера помогите! Как узнать, какие БД уже существуют Найти похожие ветки
← →
Санек (2003-09-10 08:35) [0]Собственноговоря сабж. Надо вернуть список всех БД. Заранее спасибо
← →
Digitman (2003-09-10 08:39) [1]
> Надо вернуть список всех БД
что есть "БД" по твоему разумению ?
← →
Санек (2003-09-10 08:48) [2]БД - это база данных
СУБД - система управления базами данных. Например InterBase или MySQL.
Вроде так.
Мне надо определить какие БД присутствуют в СУБД :) Вернуть их список по именам. Надеюсь понятно объяснил....
← →
Anatoly Podgoretsky (2003-09-10 09:04) [3]А есть ли в MySQL такое понятие как регистрация баз данных?, если нет то только сканирование папок, что бочно запрещено.
А это твои базы? Если твои то какая проблема.
А зачем нужна какая то неизвестная база, что с ней делать?
← →
Anatoly Podgoretsky (2003-09-10 09:07) [4]Санек (10.09.03 08:48) [2]
Поправки к твоей терминолоигии в примерах и картинках
1. Дельфи это дельфи
2. Терминология правильная, но я бы не стал так относиться к InterBase - это больше сервер баз данных, а к СУБД можно отнести его утиль, но не сам сервер, согласен, что утверждение спорное.
Ну а так после объяснения понятно что ты хочешь сделать.
← →
Санек (2003-09-10 09:08) [5]Все дело в том, что клиент сам создает БД. Я заранее не могу знать, какие БД им созданы. Клиент также может создавать таблицы в этих БД. Мне надо дать возможность выбора самой БД, в которой таблицы будут создаваться. Самый простой способ (и наглядный) - позволить клиенту выбрать из списка нужную ему БД.
Ну а имея список на руках я спокойно могу из него исключить системные БД
← →
Санек (2003-09-10 09:10) [6]Anatoly Podgoretsky © (10.09.03 09:07)
ПОлучилось так, что мы набирали текст одновременно. Что касается InterBase - я спорить не буду. Так или иначе я хотел просто объяснить, в чем проблема :)
← →
DenK_vrtz (2003-09-10 09:12) [7]Санек, а ты не путаешь понятие схемы(usera) и БД?
← →
Санек (2003-09-10 09:15) [8]А причем тут это?
← →
DenK_vrtz (2003-09-10 09:19) [9]А при том, чтобы создавать базу надо иметь нехилые знания
← →
Санек (2003-09-10 09:21) [10]Это другая тема разгвора. Мне надо получить ответ на вопрос, заданный в начале ветки
← →
Anatoly Podgoretsky (2003-09-10 09:22) [11]Санек (10.09.03 09:08) [5]
В таком случае тебе нужна еще одна таблица, bases, в которой будут хранить базы созданные / привязанные к клиент, при создании базы добавлять туда с информацие о клиенте.
Выкидывать же весь список существующих баз клиенту иделогически не верно, да и вопросы безопасности могут иметь место.
Как организовать управление этой таблицей отдельный разговор. Лучше если это будет делаться автоматически при создании/удалении базы.
← →
Санек (2003-09-10 09:33) [12]Анатолий, я тут с вами полностью согласен. Я уже думаю об этом. Но это накладные расходы, связанные с написанием отдельной процедуры и отладкой.
С другой стороны (я использую MySQL) в этой СУБД есть запрос SHOW DATABASES, который в консоли он возвращает список всех БД. "Прикрутить" это дело к своему проекту у меня не получается. Умом понимаю, что возвращаемый тип StringList, но откуда его забрать понять не могу.
← →
Val (2003-09-10 10:03) [13]>Санек (10.09.03 09:33) [12]
С другой стороны (я использую MySQL) в этой СУБД есть запрос SHOW DATABASES
Ну тогда очень вероятно, что есть системная таблица с этими данными.
← →
Кщд (2003-09-10 10:04) [14]а что, в ТХТ файл направить результат запроса нельзя?
оттуда и заберёшь.
← →
Санек (2003-09-10 10:07) [15]Можно. Откуда взять сам результат запроса?
← →
Санек (2003-09-10 10:11) [16]to
Val
Таблица-то есть, только вся беда в том, что туда данные о создании других таблиц не заносятся :(
← →
Val (2003-09-10 10:21) [17]>Санек (10.09.03 10:11) [16]
не понял?
если SHOW DATABASES показывает то что вам нужно, то он откуда-то это берет, верно? очень подозреваю, что из системной таблицы - сделать из нее запрос будет лучше, чем выполнять эту команду с выводом в файл а потом оттуда считывать - сами видите - явные потери в скорости.
← →
Nikolay M. (2003-09-10 10:30) [18]
> Ну тогда очень вероятно, что есть системная таблица с этими
> данными
Есть. Вопрос, даст ли кому админ права на чтение из этой таблицы.
← →
Санек (2003-09-10 10:35) [19]to
Val
Ну да, это правильный вариант. Только беда в том, что системной таблице нет ни одной записи о текущих БД. Однако SHOW DATABASES отображает все созданные базы
← →
Val (2003-09-10 10:40) [20]>Nikolay M. © (10.09.03 10:30) [18]
кому они нужны еще? список хочет получить сам разработчик(т.е. админ, т.к. он имеет к ней доступ), как я понял.
>Санек (10.09.03 10:35) [19]
кажется это говорит о том, что вы смотрите не ту системную таблицу
← →
Санек (2003-09-10 10:46) [21]Все таблицы у меня перед глазами. Если Вы знаете MySQL, то откройте БД mysql. По идее в таблицу bd должны заноситься имена создаваемых БД. Но этого не происходит (если вообще должно происходить). Забегая вперед - насчет моих привелегий. У меня ALL GRANTS!
← →
Nikolay M. (2003-09-10 10:46) [22]
> список хочет получить сам разработчик(т.е. админ, т.к. он
> имеет к ней доступ),
С каких это пор Разработчик=Админ?
И какое дело разработчику до чужих БД, которые лежат на одном с ним сервере - он вообще ничего о них не должен знать.
А вот какую таблицу смотрит автор вопроса, действительно интересно было бы узнать...
← →
Nikolay M. (2003-09-10 10:47) [23]Посмотри таблицу user
← →
Санек (2003-09-10 10:50) [24]И что? Пароль, Логин, привилегии Есть ICQ? Так оно быстрее будет
← →
Плохиш_ (2003-09-10 10:53) [25]2Санек
А что в книжках по MySQL и в доках это не описано?
Если нет then Поменяй книжки
← →
Nikolay M. (2003-09-10 10:54) [26]Аська есть.
В анкете.
← →
Санек (2003-09-10 10:58) [27]to Плохиш_
Написано... Для консоли MySQL все и написано.... Причем подробненько так.... А мне для Делфи все это надо
← →
Val (2003-09-10 11:21) [28]>Nikolay M. © (10.09.03 10:46) [22]
Николай мы говорим не об абстракциях, а о конкретном вопросе, кажется автор подтверждает, что у него права админа, к чему затевать ненужный философский спор?
>Санек (10.09.03 10:46) [21]
к сожалению, я не работаю с MySQL :( в советах по данному вопросу опираюсь лишь на аналогии с другими серверами :(
← →
Nikolay M. (2003-09-10 11:35) [29]
> Val © (10.09.03 11:21) [28]
После подтверждения, что права админа, вопрос снимается. И поскольку говорим действительно не об абстракциях, сначала нужно узнать, что есть у автора вопроса, а чего - нет. Лично я не собираюсь распинаться, чтобы через пару десятков постов получить вопрос типа "А где все это нужно смотреть?". А вот теперь все ясно, можно продолжать обсуждение.
← →
Anatoly Podgoretsky (2003-09-10 11:49) [30]Nikolay M. © (10.09.03 10:46) [22]
Не только не должен, но это еще и вредно, как для пользователя, так и для разработчика, я как представлю попытку подключения чужой неизвестной базы, даже в дрожь бросает.
Тем более что по условию ясно видно, что список должен быть известных баз.
← →
Санек (2003-09-10 12:54) [31]Господа, вопрос закрыт. Выражаю искреннюю благодарность
Nikolay M
за терпение и помощь.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.09.29;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.015 c