Форум: "Базы";
Текущий архив: 2002.11.28;
Скачать: [xml.tar.bz2];
ВнизКак достать список серверов в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c