Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Активные сервера MS SQL [D7, MSSQL]


Alex_2004 ©   (2004-07-30 17:15:00) 

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


sniknik   (2004-08-10 17:10:00) [1]

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


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

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


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

sp_helpdb

или

SELECT * FROM master.dbo.sysdatabases


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

Use master
Select * From sysdatabases


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

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


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

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


sniknik   (2004-07-30 21:11:00) [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;


Fay   (2004-07-30 18:02:00) [8]

SQLDMO+BOL


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

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


Ega23   (2004-07-30 17:33:00) [10]

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


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

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


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

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


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо