2011-07-05 2 views
1

Я пытаюсь проверить соединение через брандмауэр, и мы очень ограничены в разрешенном доступе. В конечном итоге данные будут загружены из базы данных Access на другом сервере в нашу базу данных SQL Server с использованием пакета SSIS. Я могу отправить этот исходный сервер с моего компьютера и получить ответ - я хочу поместить это в наш пакет SSIS и посмотреть, может ли целевой сервер SQL Server получить ответ ping.Как выполнить ping из пакета SSIS?

Прямо сейчас, исходное соединение OLE DB не работает как с моего компьютера, так и с сервера, ping работает непосредственно с моего компьютера, и я не знаю, будет ли он работать с сервера или нет. SSIS - единственное, что я могу поставить и запустить на сервере, а также то, что мы планируем использовать для получения данных из этого другого источника.

Есть ли простой способ использовать пакет SSIS для отправки определенного адреса? Мне, вероятно, даже не нужно знать ничего, кроме того, что он терпит неудачу или работает.

Я не могу использовать sys.sp_comdshell, потому что это отключено как часть нашей конфигурации безопасности для нашего SQL-сервера. Я не могу удаленно работать с сервером и использовать ping напрямую.

ответ

1

Вы можете добавить задачу скрипта в свой поток управления с помощью какого-либо кода, который выполняет ping для вас. Пространство имен System.Net.NetworkInformation в .NET 2.0 и выше содержит класс Ping, который может выполнять эту работу за вас. Я подозреваю, что это может выглядеть примерно так:

public void Main() 
{ 
    using (Ping ping = new Ping()) 
    { 
     try 
     { 
      PingReply reply = ping.Send(url, 100); 
      if (reply.Status == IPStatus.Success) 
      { 
       Dts.TaskResult = (int)ScriptResults.Success; 
      } 
      else 
      { 
       Dts.TaskResult = (int)ScriptResults.Failure; 
      } 
     } 
     catch 
     { 
      Dts.TaskResult = (int)ScriptResults.Failure; 
     } 
    } 
} 
+0

Адрес URL в двойных кавычках, а остальное то же самое. И теперь я знаю, что могу успешно выполнить ping с сервера. Это помогает сузить ситуацию, когда возникает проблема. Спасибо. – thursdaysgeek

Смежные вопросы