簡體   English   中英

如何從 SSIS package 中 ping?

[英]How to ping from within an SSIS package?

我正在嘗試通過防火牆驗證連接,但我們的訪問權限非常有限。 最終,數據將使用 SSIS package 從另一台服務器上的 Access 數據庫加載到我們的 SQL 服務器數據庫。 我可以從我的計算機 ping 那個源服務器並得到一個回復——我想把它放在我們的 SSIS package 中,看看目標 SQL 服務器是否可以得到一個 ping 響應。

現在,我的計算機和服務器的 OLE DB 源連接都失敗了,ping 直接從我的計算機工作,我不知道它是否可以從服務器工作。 SSIS 是我唯一可以在服務器上放置和運行的東西,它也是我們計划用來從其他來源獲取數據的東西。

有沒有一種相當簡單的方法可以使用 SSIS package ping 特定地址? 我可能什至不需要知道它是否失敗或有效。

我不能使用 sys.sp_comdshell,因為它在 sql 服務器的安全配置中被關閉。 我無法遠程訪問服務器並直接使用 ping。

您可以使用一些為您執行 ping 操作的代碼將腳本任務添加到您的控制流中。 .NET 2.0 及更高版本中的System.Net.NetworkInformation命名空間包含可以為您完成工作的Ping class。 我懷疑它可能看起來像這樣:

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;
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM