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

Вниз

Как достать список серверов в MS SQL?   Найти похожие ветки 

 
BJValentine ©   (2002-11-08 17:42) [0]

см. тему


 
sniknik ©   (2002-11-08 17:58) [1]

доступные сервера

function TDMod.GetSQLServers(ServersItems: TStrings): boolean;
var NameList, Application: OleVariant;
i:Integer;
begin
result:= false;
try
try
Application:= CreateOleObject("SQLDMO.Application");
NameList:= Application.ListAvailableSQLServers;
For i:= 1 to NameList.Count do
ServersItems.Add(NameList.Item(i));
result:= true;
except
on E: Exception do DoIfError(E.Message);
end;
finally
NameList:=Unassigned;
Application:=Unassigned;
end;
end;


зарегистрированные
oApp:=CreateOleObject("SQLDMO.Application");
for i:=1 to oApp.ServerGroups.Count do
begin
for j:=1 to oApp.ServerGroups.item(i).RegisteredServers.Count do
Memo1.Lines.Add((oApp.ServerGroups.item(i).RegisteredServers.Item(j).Name));
end;
oApp:=Unassigned;


 
BJValentine ©   (2002-11-08 19:12) [2]

На месте
ServersItems.Add(NameList.Item(i));
выдаёт Abstract Error


 
sniknik ©   (2002-11-08 22:47) [3]

а ServersItems у тебя создан? возьми TStrings из визуального обьекта, Memo1.Lines туда передай.


 
BJValentine ©   (2002-11-10 13:42) [4]

В визуальном получается вывести список серверов, но всё равно в конце пишет про Abstract error


 
sniknik ©   (2002-11-10 14:54) [5]

пример реального вызова в работающей проге (уже около полугода), никаких абстрактных ошибок. у тебя точно гдето чтото не создано перед обращением, возможно обрашение к виртуальному методу который должен перекрыватся, еще вариант у меня D6 у тебя D5, он не позволяет этого (вериш?, я нет), должон пахать. покажи как сам делаеш.

procedure TSQLPak.ComboBox1DropDown(Sender: TObject);
var i: integer;
begin
if ComboBox1.Items.Count = 0 then begin
if DMod.GetSQLServers(ComboBox1.Items) then begin
if ComboBox1.Items.Count > 0 then begin
i:= ComboBox1.Items.IndexOf("(local)");
if i <> -1 then ComboBox1.Items[i]:= GetComputerName;
end else ComboBox1.Items.Add(GetComputerName);
end else LogForm.EventToLog(" Ошибка при получении имен серверов -> "+DMod.GetError, true);
end;
end;


 
BJValentine ©   (2002-11-10 15:03) [6]

Большой пардон, я немного ошибся, всё работает, спасибо!



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

Текущий архив: 2002.11.28;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
3-92903
Kurt
2002-11-11 11:31
2002.11.28
Можно ли задать парметры Query пор умолчанию чтоб были значения?


3-92845
Step[B.M.]
2002-11-12 12:10
2002.11.28
Может ли сервер IB делать автоматическое резервное копирование ?


3-92892
oss
2002-11-11 11:05
2002.11.28
Добавление записи в FireBird


1-92952
Uran
2002-11-18 10:16
2002.11.28
Как изменить размер формы в соответствии с разрешением монитора?


3-92875
BJValentine
2002-11-08 17:42
2002.11.28
Как достать список серверов в MS SQL?