Показать сообщение отдельно
  #2  
Старый 04.12.2009, 12:38
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Код:
procedure GetServerList(Strings: TStrings);
var
  dmo:OleVariant;
  i:Integer;
begin
  Strings.Clear;
  try
    dmo:=CreateOleObject('SQLDMO.SQLServer');
    dmo:=dmo.Application;
    dmo:=dmo.ListAvailableSQLServers;
    for i:=1 to dmo.Count do
      if (Length(trim(dmo.Item(i))) > 0) and (CompareText(dmo.Item(i),'(LOCAL)')<>0) then
        Strings.Add(AnsiUpperCase(dmo.Item(i)));
   except
   end;
end;

Как видно из кода, локальный сервер (т.е. установленный на машине с которой идет запрос) в список не выводится. И еще, в 2005 MS SQL DMO вроде как упразднили, поэтому код работать не будет
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием