2011-05-30 91 views
1

我是SSIS的新手。我的問題是,我必須做一個數據庫查詢。然後,我必須做一個Web服務調用,將我從db查詢得到的結果傳遞給Web服務。 我可以先使用sql任務進行數據庫查詢和下一個Web服務調用的Web服務任務。另一種方法是在c#代碼中完成整個事情並將其放在腳本任務中。 我可以使用企業庫通過C#代碼進行數據庫查詢,然後調用Web服務。 做什麼更好的方法?哪一個可以提供更好的性能?何時使用腳本任務代替SSIS中的sql任務和Web服務任務

回答

4

兩種方法都可以工作。兩者都可能導致大致相同的性能 - 通常SQL Server上的查詢執行是最慢的部分,並且無關緊要如何調用它。

但是,如果您在C#代碼中執行所有操作並將其放入腳本任務中 - SSIS的好處是什麼?你可以在C#中做所有事情,並把它放在獨立的控制檯應用程序中。

通常使用SSIS避免編寫代碼,並使用聲明性程序定義 - 這是更易於維護,更容易讓其他人理解和支持等等。打開包並查看SQL任務和Web服務任務的人將能夠無需打開腳本任務並檢查代碼即可理解和調整正在進行的操作。它也需要較少的開發人員專業知識來維護此類包。

腳本任務然後只有當某些東西不能直接通過現有的SSIS任務或轉換完成時使用。如果我看到一個腳本任務中包含所有代碼的軟件包,我會問爲什麼這個人使用SSIS?使用獨立控制檯應用程序會更簡單,更可靠(比腳本任務中的代碼相同),避免不必要的依賴性等。

簡而言之:如果您使用SSIS - 儘可能避免使用腳本任務。

+0

我不確定爲什麼最後一條語句不被更頻繁地傳講。 – 2017-08-31 15:51:53