Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Вниз

Получить список всех баз данных   Найти похожие ветки 

 
Vlad2   (2002-10-15 13:20) [0]

Эдравствуйте !
Как получить список всех баз данных сервера mssql2000 средствами ado в delphi6 ? Конечно, нужно использовать TADOConnection. Но не могу найти, как. Подскажите, кто знает.


 
Best Before 2024   (2002-10-15 13:33) [1]

Stored Procedure sp_helpdb
exec sp_helpdb



 
Vlad2   (2002-10-15 13:44) [2]

> Best Before 2024
Это так, а как быть, если использовать sp сервера нельзя ?
Соединение с сервером проходит даже если в строке connectionString не указывать имя БД, - для данного UserName значение устанавливается в соответствии с настройками. Список баз, кажется, нужно искать в adoConnection, но вот в adoConnection.Properties и свойств таких нет.


 
Vlad2   (2002-10-15 14:06) [3]

Вдогонку:
по умолчанию sp_helpdb разрешена на выполнение для роли public, но не все администраторы одинаково полезны. Пользователь всё равно не получит доступа (лояльным способом) к запрещенным объектам, но нужно видеть какой-то список на клиенте.


 
SergSuper   (2002-10-15 14:09) [4]

select * from master..sysdatabases ?

Мне кажется стандартными методами узнать не получится. Даже если это есть в АДО, не факт что реализовано в VCL


 
Best Before 2024   (2002-10-15 14:15) [5]

>>Это так, а как быть, если использовать sp сервера нельзя?
Кто запретил?!


 
Vlad2   (2002-10-15 14:18) [6]

> SergSuper
Грустно. Получается, что можно узнать только БД по умолчанию.


 
Vlad2   (2002-10-15 14:22) [7]

> Best Before 2024 (15.10.02 14:15)
Ну, сбросил флажок "EXEC" для ServerName.master.sp_helpdb и с других по своему усмотрению.



 
Best Before 2024   (2002-10-15 14:26) [8]

А если диск отформатируют - тоже работать должно.
Программа должна выставлять некие требования и заставлять пользователей их соблюдать.


 
Vlad2   (2002-10-15 14:33) [9]

> Best Before 2024
Вы правы, просто я хочу предусмотреть, по возможности, все обстоятельства. Конечно, sp_helpdb использовать придется, но подозреваю, что список баз данных можно достать из TADOConnection.


 
SergSuper   (2002-10-15 14:52) [10]

Вдогон
по умолчанию sp_helpdb разрешена на выполнение для роли public, но не все администраторы одинаково полезны. Пользователь всё равно не получит доступа (лояльным способом) к запрещенным объектам, но нужно видеть какой-то список на клиенте.

Дык тогда и АДО не получит доступа :) Откуда ж Вы думаете она узнаёт список баз?


 
sniknik   (2002-10-15 14:57) [11]

Vlad2 (15.10.02 14:33) - но подозреваю,...
скорее всего правильно подозреваеш
смотри получение схем
ADOConnection1.OpenSchema();
у него есть параметры вызова
siDBInfoKeywords
siDBInfoLiterals
может это то и есть. но разбиратся тебе самому придется этого я не использовал, (ограничивался данными о полях без открытия датасета).
SergSuper (15.10.02 14:52) естественно если у ADO нет доступа ничего не выйдет.


 
Vlad2   (2002-10-15 15:08) [12]

> SergSuper (15.10.02 14:52)
Я проверил: запретил выполнение sp_helpdb и соединился с сервером.

> sniknik
OpenSchema(); ? Кажется путь здесь. Спасибо.


 
sniknik   (2002-10-15 15:11) [13]

напиши как разберешся. пригодится. (может быть)


 
Vlad2   (2002-10-15 15:18) [14]

> sniknik
Если сегодня не успею (рабочий день у нас закончился), то завтра в этой же ветке.


 
sniknik   (2002-10-15 15:22) [15]

договорились. можеш и на почту сдублировать если не в лом. :-))


 
Best Before 2024   (2002-10-15 15:58) [16]

ADOConnection1.OpenSchema(siCatalogs, EmptyParam, EmptyParam, ADODataSet1);
while not ADODataSet1.Eof do
begin
DBName := ADODataSet1["CATALOG_NAME"];
ADODataSet1.Next;
end;

Но это все тот же список БД


 
sniknik   (2002-10-15 16:09) [17]

ну и что?
ADOConnection1.OpenSchema(siColumns, VarArrayOf([Unassigned, Unassigned, SelectedTable, Unassigned]), EmptyParam, FieldSchema);
информация о полях таблици.
предлагалось проверить
siDBInfoKeywords
siDBInfoLiterals
а возможных схем гораздо больше. практически информация обо "всем". так что пусть работает.



 
sniknik   (2002-10-15 16:18) [18]

Best Before 2024 - сори я сначала не понял. это именно то что надо. средствами ADO (без селекта) и именно как в вопросе стояло.


 
Vlad2   (2002-10-16 06:27) [19]

Ребята, жизнь прекрасна. Спасибо.
OpenSchema(siCatalogs, ...) - то, что надо.
> sniknik : я Вам там почту послал.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.11.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
1-11273
ScareCrow
2002-10-23 11:19
2002.11.04
Создание настраиваемых платформ на DELPHI.


3-11098
cd1
2002-10-16 02:15
2002.11.04
BD


3-11036
Dr. Well
2002-10-14 13:26
2002.11.04
Группировка данных в TQReport


1-11278
Шурик Ш
2002-10-23 12:12
2002.11.04
Подскажите компонент


4-11535
Grombl
2002-09-21 22:57
2002.11.04
Проблемма с soundplay.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский