2009-07-16 42 views
1

我必須將日誌文件導入到SQL Server數據庫。文件大小很大,大約6MB,有40000行。導入任務必須每天進行,每日記錄。日誌文件的每一行都包含許多字段,我必須將其導入到數據庫中的正確列中進行後處理。 我對這些解決方案感到困惑:從文本文件導入到SQL Server數據庫,我應該選擇什麼解決方案?

- 使用SQL Server Integration Services來執行此操作。

- 寫入使用批量複製

一個C#應用程序,我相對自由地選擇解決方案(在SQL Server和.NET Framework)。什麼解決方案更好,或者你可以建議另一個解決方案。

非常感謝。

//編輯:我試過SSIS,看到它很簡單。但每天,在收到日誌文件後,我的程序必須自動將其導入數據庫。我怎樣才能做到這一點?

+0

更新了我的答案,以瞭解如何安排它。 – NikolaiDante 2009-07-16 09:41:31

回答

2

我會寫一個SSIS包來做到這一點。

您可以使用導入/導出嚮導來生成軟件包的開始並對其進行調整以滿足您的確切需求。

要在SQL 2005中執行此操作,請在SQL Management Studio的對象資源管理器中右鍵單擊您的數據庫,依次選擇任務>導入數據和嚮導,然後選擇保存包。

我想這是SQL 2008中的一個類似的過程,但我沒有辦法。

保存軟件包後,可以使用SQL Server aAgent對其進行安排,設置作業時,選擇「SQL Server Integraton Services Package」作爲類型並選擇您的軟件包。

+0

你能舉個簡單的例子嗎? :) – Vimvq1987 2009-07-16 08:45:00

1

我可能會編寫一個腳本,將日誌文件轉換爲一個sql轉儲,插入日誌文件字符串,然後將該sql轉儲裝載到數據庫中。

+0

這是我想到的第一件事。寫一個腳本並安排它。也許是因爲我從來沒有使用過Integration Services ......我沒時間閱讀它。 – Jonathan 2009-07-16 08:49:32

1

6MB實際上是非常小:)

SQL Server集成服務是不是能夠勝任工作更多。 BULK COPY可能會很快變得複雜,特別是對於那些新手。作爲第三種選擇,你可以編寫你自己的程序來做INSERTS,但是再一次,這就是SSIS所建立的,所以堅持這一點。

相關問題