什么是在.net中加载大量SQL数据并生成CSV文件的最佳方法?

时间:2010-12-15 17:13:31

标签: c# asp.net etl

我有一个sql proc,返回20,000 +记录,并希望将这些数据转换为CSV以进行SQL2005批量加载操作。

我认为使用数据集是过度的,因为我只需要只转发对数据的读访问权。

现在我有一个数据阅读器,但不认为迭代数据阅读器是一个好主意,因为它将锁定oracle数据库我得到了20,000条记录,而它完成了它的事情。

逻辑上我想创建数据表中数据的断开连接的快照,并使用它来生成我的csv文件。

我不经常开发这样的ETL应用程序,所以我想知道这类操作的黄金标准是什么。

想法?

另外,请允许我提一下,这需要一个控制台应用程序,因为CORP规则不允许链接服务器和任何酷 - 所以这意味着SSIS已经出局。

1 个答案:

答案 0 :(得分:1)

由于您担心自己进行datareader的迭代,我可以建议使用SqlBulkCopy类。

它允许您从任何可以使用IDataReader实例读取的源将数据加载到SQL Server数据库中

可能会解决您的潜在锁定问题。