2011-07-05 10 views
1

ファイアウォールを介して接続を確認しようとしていますが、私たちはアクセスが制限されています。最終的に、SSISパッケージを使用して、別のサーバーのAccessデータベースからSQL Serverデータベースにデータがロードされます。私は自分のコンピュータからそのソースサーバにpingして返信を受け取ることができます - 私はそれを私たちのSSISパッケージに入れ、目的のSQL Serverがping応答を得ることができるかどうか確認したいと思います。SSISパッケージからpingを実行する方法は?

現時点では、OLE DBのソース接続は自分のコンピュータとサーバーの両方から失敗し、pingは自分のコンピュータから直接動作し、サーバーから動作するかどうかわかりません。 SSISは私がサーバー上に置くことができる唯一のものです。また、この他のソースからデータを取得するために使用する予定のものもあります。

SSISパッケージを使用して特定のアドレスにpingを実行する方法は簡単ですか?私はおそらく、それが失敗したのかそれとも失敗したのか、何も知る必要はない。

sys.sp_comdshellは、SQL Serverのセキュリティ設定の一部としてオフになっているため使用できません。私はサーバーに遠隔操作できず、直接pingを使用することができません。

答えて

1

pingを実行するコードを使用して、コントロールフローにスクリプトタスクを追加できます。 .NET 2.0以降のSystem.Net.NetworkInformation名前空間には、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は、二重引用符で囲まれたIPアドレスで、残りは同じである:私はそれは次のようになります疑い。そして、今私はサーバーからも正常にpingできることを知っています。これは、問題が発生している場所を絞り込むのに役立ちます。ありがとうございました。 – thursdaysgeek

関連する問題