Главная страница
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
1-93124
Jeka.
2002-11-18 08:12
2002.11.28
Опять Scroll


3-92908
alxx
2002-11-10 18:24
2002.11.28
Windows NT-authentification в MSSQLServer


1-93104
BOBBY
2002-11-16 16:07
2002.11.28
Как добраться до канвы memo и richedit?


14-93256
Snake2000
2002-11-07 12:32
2002.11.28
---|Ветка была без названия|---


3-92870
Fixxxer
2002-11-10 12:38
2002.11.28
Clipper и BDE