Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.29;
Скачать: CL | DM;

Вниз

Мастера помогите! Как узнать, какие БД уже существуют   Найти похожие ветки 

 
Санек   (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;
Скачать: CL | DM;

Наверх




Память: 0.54 MB
Время: 0.025 c
1-96164
k2
2003-09-16 10:21
2003.09.29
Приведение типов


4-96484
abc
2003-07-29 16:08
2003.09.29
есть ли API функция вывода текста что бы его фон был прозрычным?


1-96193
KIR
2003-09-16 09:50
2003.09.29
Сохранить форму в bmp файл


8-96307
a72
2003-06-02 14:41
2003.09.29
Компоненты для векторной графики


1-96215
Серж
2003-09-08 22:15
2003.09.29
компонент ActiveX F1Book для Delphi 6,7