0

我有一個處理大量I/O數據,數據庫插入和狀態檢查的小型項目。如何將複雜對象批量插入SQL Server數據庫

我會解釋一下:

我要讀幾百個文本文件,位於磁盤,每天在特定的時間,特定線格式內,這些轉換成線的對象,作爲一個數據遷移任務。

後來,我需要使用EF 6將讀數存儲在SQL Server中,最近從Nuget包存儲庫 下載。但是,在編寫任何解決方案之前,我一直懷疑:

因爲在此過程中,我希望避免在發生一些批處理作業之後不必要的查詢詢問是否存在記錄(以避免重複或維護它們直到進一步消除)。

我有這些想法:

插入所有輸入每次和定期刪除重複的SQL或我的應用程序的計劃任務或檢查每次時發生了插入。考慮到他們每次都要檢查數百條記錄,並且每天都會記錄。

在此先感謝。

+0

你調查過SSIS嗎? –

+0

我在哪裏可以找到與SSIS相關的內容? –

+0

你可以谷歌它並找到噸 - 谷歌爲您當前版本的SQL Server - 如SQL 2008 R2 SSIS(SQL Server集成服務)。我使用SSIS每週導入非常大的XML文件,並且工作得很好。 –

回答

0

我通常採取兩步法。

  1. 將文件中的記錄解析爲所需的形狀。
  2. 將分隔的記錄插入輔助表中。該表通常不具有「真實表」的約束,並且具有用於保持驗證標誌的一些額外的列 。
  3. 一旦上傳,啓動一個存儲過程,檢查記錄並以可能的無效原因對其進行註釋。

然後你可以決定處理全部,部分或沒有。你甚至可以把錯誤記錄放在一邊供以後檢查等等。但主要的是,你現在擁有「基於set操作的sql操作」的強大功能,而不是被強制進入rbar操作(row-by-agonizing-row)。

相關問題