2010-10-28 83 views
0

這是一個有趣的問題。我有一個用c#編寫的ETL腳本,我有點經常手動運行。它用於更新我的Web應用程序的數據庫。ASP.NET自動化和手動ETL過程

我想自動執行ETL過程併爲Web應用程序管理員創建一個接口來手動啓動ETL過程。

我可以讓sql server按照時間表啓動ETL過程,並在網頁上實現一個按鈕或某些東西來完成同樣的事情,但我不想將代碼放在兩個不同的地方,因爲我當它改變時不想在兩個地方更新它。但是我不知道如何讓我的Web應用程序告訴SQL服務器手動啓動一個預定的進程。這可以做到嗎?

OR

我能以某種方式實現在web應用程序本身的調度,但現在大多數人都熟悉的努力是(應用時所面臨的問題可能不會在特定時間運行,必須等待請求啓動一個進程(沒有一些欺騙))。此外,由於ETL過程需要一段時間,我不想讓一些可憐的最終用戶等待響應,所以肯定會使用新的線程。

我還能做什麼?你會怎麼做?

回答

1

您提到您正在使用SQL Server。它是什麼版本? SQL Server集成服務(這是該平臺的全面ETL工具)是否適合您?如果您想要預定的提取,轉換和加載作業,SSIS是Microsoft平臺上的一個強大工具,並且包含在大多數SQL Server許可證中。或者,退房Quartz

+0

我同意這一點。爲什麼不使用SSIS來處理您的ETL過程? – Dismissile 2010-10-28 19:08:14

+0

因爲我必須學習如何使用它。我已經編寫了代碼來完成我需要做的事情。另外,因爲源是UniData。我只是覺得不使用它會更容易。我很想學習如何在某個時候使用SSIS,但不是爲了這個。我忙於犛牛剃毛。 – 2010-10-29 11:37:03

+0

遠遠不夠。我明白太忙了。但是,你會發現SSIS確實解決了你問到的問題。您必須平衡解決方案的成本與當前的方法,並用最合適的工具(包括學習曲線)解決問題。 – 2010-10-29 16:28:28