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

Вниз

Активные сервера MS SQL   Найти похожие ветки 

 
Alex_2004   (2004-07-30 17:15) [0]

Здравствуйте, все!
Такая проблема. Заранее неизвестно, к какому серверу будет идти соединение. Как можно отдать это на откуп пользователю? Например: вывести список серверов для выбора?


 
Term   (2004-07-30 17:23) [1]

ну хранить гдето строки конектов в инишке например, выводить имена серверов в грид скажем или дерево и по щелчку пытаться конектиться


 
Alex_2004   (2004-07-30 17:26) [2]

Так говорю же, неизвестно, какие сервера есть в наличии, пишется прога для распространения в разных местах, а там разные сервера могут быть


 
Term   (2004-07-30 17:29) [3]

ну так предварительная настройка полюбому нужна


 
Ega23 ©   (2004-07-30 17:33) [4]

Ха, а откуда ты знаешь, что те SQL сервера, которые видны в рамках данной сети, будут именно те, которые тебе нужны? SQL сервер, теоретически, может быть установлен на каждой машине.
Где, как говорится, гарантии?


 
Alex_2004   (2004-07-30 17:38) [5]

Так когда через ADO компоненту подключаешься, выдается же список серверов, к которым можно подключиться, вот я и хочу получить этот список программно.


 
Fay ©   (2004-07-30 18:02) [6]

SQLDMO+BOL


 
sniknik ©   (2004-07-30 21:11) [7]

можно использовать примерно такой код, при условии что на юзерском компе установлено DMO (можно с пограммой инсталировать), если его нет то и когда через компаненту списка не будет.
(выкини лишнее, пара моих процедур тебе не нужных)

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


 
Alex_2004   (2004-08-02 11:47) [8]

А что за зверь такой DMO? И с чем его едят? :)
Где его можно взять? Как узнать, установлен ли он на машине клиента?


 
Alex_2004   (2004-08-10 11:27) [9]

Спасибо большое всем за ответы, очень помогли! Вдогонку вопрос: а каким образом можно получить список баз данных, если известно имя сервера?


 
Nikolay M. ©   (2004-08-10 11:35) [10]

sp_helpdb

или

SELECT * FROM master.dbo.sysdatabases


 
mart_2004   (2004-08-10 11:35) [11]

Use master
Select * From sysdatabases


 
Alex_2004   (2004-08-10 16:59) [12]

Спасибо за ответы, все работает :). Опять вопрос вдогонку: как у компонента TADOConnection проверить, есть ли уже подключение или нет? И если есть, то произвести отключение. Заранее спасибо.


 
sniknik ©   (2004-08-10 17:10) [13]

> И если есть, то произвести отключение.
зачем проверять? TADOConnection.Connected:= False; и все, если не подключено ничего не произойдет.



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

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

Наверх




Память: 0.5 MB
Время: 0.022 c
4-1089879356
Unknown Mystic
2004-07-15 12:15
2004.09.05
Как выполнить другую программу и получить код возврата?


4-1090323947
TKV
2004-07-20 15:45
2004.09.05
Помогите поймать данные посылаемые из дос программы в порт LPT


1-1093153757
SNV-Soft
2004-08-22 09:49
2004.09.05
Сохранить часть формы в файл


14-1092340519
sk707
2004-08-12 23:55
2004.09.05
Что подарить человеку на день рождения у которого все есть...


1-1092847654
RaPToR_1
2004-08-18 20:47
2004.09.05
прорисовка