我正在寻找一个 C# 中简单数据流的示例,而不依赖于 SSIS 或外部库,例如 Rhino-ETL(这是一个非常好的库,顺便说一句)。
要求:
- 一个任意 ADO .Net 数据源
- 一个任意 ADO .Net 数据目标
- 不需要一次将整个数据集加载到内存中,因此它可以处理任意大的数据集。它需要依赖某种缓冲区,或者像 Rhino ETL 那样利用的“收益回报”。
- 使用批量插入(即 SqlBulkCopy)
- 最小的转变。没有查找,没有合并连接。
- 如果单线程可以完成这项工作,则不需要多线程。
说明问题的另一种方式...... Rhino ETL 如何做到这一点,但没有所有的抽象和继承的类,也没有 quacking 字典?我想在一个简单的非抽象类中看到它。
对问题的另一种表述:我正在寻找一个基本示例,即获取“选择”查询的数据流输出,并一次将 10,000 或 50,000 条记录批量插入到目的地,而不将整个结果加载到内存,这可能会超过可用 RAM。