【发布时间】:2012-01-06 20:58:28
【问题描述】:
我正在寻找一个不依赖于 SSIS 或外部库(如 Rhino-ETL,这是一个非常好的库,顺便说一句)的 C# 中简单数据流的示例。
要求:
- 一个任意 ADO .Net 数据源
- 一个任意 ADO .Net 数据目标
- 不需要一次将整个数据集加载到内存中,因此它可以处理任意大的数据集。它需要依赖某种缓冲,或者像 Rhino ETL 那样利用的“收益回报”。
- 使用批量插入(即 SqlBulkCopy)
- 最小的转换。没有查找,没有合并连接。
- 如果单线程可以完成这项工作,则不需要多线程。
另一种表述问题的方式...... Rhino ETL 是如何做到这一点的,但没有所有的抽象和继承的类,也没有 quacking 字典?我想在一个简单的非抽象类中看到它。
对问题的另一种表述:我正在寻找获取“选择”查询的数据流输出的基本示例,并将其一次以 10,000 或 50,000 条记录批量插入到目的地而不加载整个结果都存入内存,这可能会超出可用 RAM。
【问题讨论】:
-
我正在考虑提供赏金(虽然我几乎买不起)......这个问题需要澄清吗?
-
请问如果 Rhino ETL 符合您的要求,为什么不能使用它?
-
部分作为教育过程......我很惊讶有人没有关于这类事情的博客。部分是政治性的,因为获得第三方图书馆的批准几乎是不可能的。我想摆脱 SSIS,随着项目变得越来越大,它变得越来越笨拙,因为重构 100 多个 SSIS 包变得不切实际。
-
我应该改写一下(我错过了我的 5 分钟编辑窗口).. 我还没有找到关于它的博客。可能有一个我错过了。