2010-12-15 63 views
0

我有一個sql proc返回20,000 +記錄,並希望將此數據轉換爲SQL2005批量加載操作的CSV。什麼是在.net中加載大量SQL數據並生成CSV文件的最佳方式?

我認爲使用數據集是過度殺傷,因爲我只需要轉發只讀數據的訪問。

現在我有一個數據讀取器,但不認爲迭代數據讀取器是一個好主意,因爲它會鎖定oracle數據庫我從一段時間獲得20,000條記錄,而它完成它的事情。

從邏輯上講,我想創建一個斷開的數據表中的數據的快照可能並使用它來生成我的csv文件。

我不經常開發這樣的ETL應用程序,所以我想知道什麼是這種類型的操作黃金標準。

想法?

另外,請允許我提一下,這需要是一個控制檯應用程序,因爲CORP規則不允許鏈接服務器和任何東西很酷 - 所以這意味着SSIS不在。

+0

除非我讀錯了,否則你的問題自相矛盾。 「我認爲使用數據集是過度殺傷性的,因爲我只需要轉發只讀訪問」vs「我正在考慮在數據表中創建斷開的數據快照」。 – 2010-12-15 17:28:20

回答

1

既然你擔心自己在做DataReader的迭代,我可以推薦使用SqlBulkCopy類。

它可以讓你從任何來源將數據加載到SQL Server數據庫中,不能與一個IDataReader的實例

讀取可能會解決你的潛在鎖定問題。

+0

+1當您嘗試一次填充單個表時,這適用於MS SQL Server目標。如果您需要中間CSV文件,它不能解決提取問題。 – 2010-12-15 18:00:37

相關問題