我有一个sql proc,返回20,000 +记录,并希望将这些数据转换为CSV以进行SQL2005批量加载操作。
我认为使用数据集是过度的,因为我只需要只转发对数据的读访问权。
现在我有一个数据阅读器,但不认为迭代数据阅读器是一个好主意,因为它将锁定oracle数据库我得到了20,000条记录,而它完成了它的事情。
逻辑上我想创建数据表中数据的断开连接的快照,并使用它来生成我的csv文件。
我不经常开发这样的ETL应用程序,所以我想知道这类操作的黄金标准是什么。
想法?
另外,请允许我提一下,这需要一个控制台应用程序,因为CORP规则不允许链接服务器和任何酷 - 所以这意味着SSIS已经出局。
答案 0 :(得分:1)
由于您担心自己进行datareader的迭代,我可以建议使用SqlBulkCopy类。
它允许您从任何可以使用IDataReader实例读取的源将数据加载到SQL Server数据库中
可能会解决您的潜在锁定问题。