Главная страница
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.49 MB
Время: 0.044 c
3-1092063370
raul
2004-08-09 18:56
2004.09.05
как лечить ошибку таблицы PARADOX header/index corrupt


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


14-1092483820
Loaderz
2004-08-14 15:43
2004.09.05
QuickReport!


1-1092735170
Боян Георгиев
2004-08-17 13:32
2004.09.05
Как показать содержание TJpegImage-a


3-1091805017
DmitryMN
2004-08-06 19:10
2004.09.05
Отменение выполнения запроса