Главная страница
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.47 MB
Время: 0.014 c
1-92970
kofman
2002-11-15 23:08
2002.11.28
Как развернуть свое окно на весь экран если BorderStyle= bsNone?


14-93201
Sirus
2002-11-09 14:32
2002.11.28
Почему компоненты отображаются криво???


3-92918
Gregory
2002-11-11 16:18
2002.11.28
Быстрая работа с БД Paradox


14-93184
Hirara
2002-11-03 14:11
2002.11.28
все о том же


1-93116
bobby
2002-11-16 22:09
2002.11.28
ScrollBar