我正在寻找C#中简单数据流的示例,而不依赖于SSIS或外部库,如Rhino-ETL(这是一个非常好的库,BTW)。
要求:
另一种陈述问题的方式...... Rhino ETL如何做到这一点,但没有所有的抽象和继承类,没有嘎嘎作词典?我想在一个简单的非抽象类中看到它。
又一个问题的重新描述:我正在寻找获取“选择”查询的数据流输出的基本示例,并将其一次大量插入10,000或50,000条记录到目的地而不加载整个结果进入内存,可能会超出可用RAM。
答案 0 :(得分:1)
看起来您想了解etl程序如何工作以增加您的编程知识。 Rhino ETL是一个开源项目,所以你可以在这里获得源代码:
https://github.com/ayende/rhino-etl
并确切了解他们是如何做到的。还有其他开源的ETL包,因此您可以看到他们以不同方式执行操作的方式。例如,talend源可以在以下位置找到:
http://www.talend.com/resources/source-code.php
当然,如果您尝试编写自己的代码用于商业用途,您将不希望看到其他人的源代码,因此您需要自己提出自己的流程。
希望这能帮到你!
答案 1 :(得分:1)
恐怕不是一个完整的答案。
您可以使用此处列出的一种或多种技术在.Net中“分页”任意选择查询的结果。
http://msdn.microsoft.com/en-us/library/ff650700.aspx
这应该允许您对数据进行分块并避免RAM问题。
或者 - 如果您现有的SSIS包很简单/类似,那么可以考虑根据模板自动生成SSIS包。例如,我使用EISAPI API for SSIS维护100多个由c#小应用程序自动生成的软件包。