Имя: Пароль:
IT
Админ
Программно определить доступность сервера MS SQL
0 bvb
 
27.01.15
11:23
У меня есть обработка (давно работает) получающая программно запрос с сервера БД SQL.  Условие формирования запроса наличие pingа сервера.
ServicesSet = ПолучитьCOMОбъект("winmgmts:\root\cimv2");
Items =  ServicesSet.ExecQuery ("Select * From Win32_PingStatus where Address = '"+IP+"'");
    

Сейчас пинг закрыли (но сервер SQL) доступен.
Как мне без пинга БЫСТРО программно определить доступность сервера.

ЗЫ Попытку не предлагать
1 Fragster
 
гуру
27.01.15
11:30
попытку-то почему не предлагать? самое то. И насколько "быстро" для тебя действительно "быстро"? у меня так достаточно быстро:

    Попытка
        Если
            мСоединение = Неопределено ИЛИ
            мСоединение.State = мМагияСКЛ.adStateClosed
        Тогда
            мСоединение = Неопределено;
            Connection    = Новый ComОбъект("ADODB.Connection");
            СтрокаПодключения = "Driver={SQL Server}; Server="+Сервер+"; DataBase="+База+"; UID="+Пользователь+"; PWD="+Пароль+";";
            СтрокаПодключения = "Provider=SQLOLEDB.1;Password="+Пароль+";Persist Security Info=True;User ID="+Пользователь+";Initial Catalog="+База+";Data Source="+Сервер+"";
            
            Connection.ConnectionString = СтрокаПодключения;
            Connection.CursorLocation = мМагияСКЛ.adUseClient;
            Connection.Open();
            мСоединение = Connection;
        Иначе
            Команда = СоздатьКомандуАДО(мСоединение, "SELECT 1");
            ВыполнитьКомандуАДО(Команда);
        КонецЕсли;
    Исключение
        мСоединение = Неопределено;
        ВызватьИсключение "Не получилось соединиться с обменной базой!";
    КонецПопытки;
2 bvb
 
27.01.15
11:40
что есть мМагияСКЛ ?
3 ДенисЧ
 
27.01.15
11:40
(2) ты не поверишь....
4 bvb
 
27.01.15
11:50
(3) Ну нашел...
Структура с кодами
Просто яндекс в результате поиска не вернул