了解SSIS的“完整结果集”

关于执行SQL任务生成的结果集,我有两个问题 –

1)存储结果集的对象的类是什么? 它是ADODB记录集吗? 2)无论是什么对象,如何迭代该对象。 我想简单地迭代它以网格forms打印它,就像它出现在SQL服务器管理工​​作室中一样。 我想这样做而不将它放入DataTable对象或类似的东西。 这将浪费记忆和时间。

有人可以告诉我该怎么做吗?

1)结果集在技术上存储在OLEDB Rowset对象中,该对象可以放入ADORecordConstruction对象并转换为ADO RecordSet。 每当您实际访问对象的数据时,SSIS都会隐式执行此操作。

没有脚本,在SSIS执行中看到这些数据的唯一方法是使用Foreach循环容器。

  1. 将Foreach循环枚举器设置为Foreach ADO枚举器。
  2. 将变量分配给结果集中的每个列。
  3. 在循环中使用这些变量,使用事件处理程序在执行日志中显示它们。

话虽这么说,如果你真的想要查看对象的数据,我强烈建议创建一个数据流,将对象转换为脚本源,并将数据查看器附加到它以查看网格forms的数据。

最后,我建议如果您只是尝试调试和查看SQL任务返回的数据集,则脚本任务可以执行查询并将其结果快速推送到(例如)本地文件中。

另一种方法是使用ADO.NET连接而不是OLEDB。 如果使用ADO.NET连接,则将获得ADO.NET DataSet对象。 DataSet是DataTable的集合。

DataSet教程的一些链接 –

http://www.dotnetperls.com/dataset

斯科特米切尔的啧啧 –

http://msdn.microsoft.com/en-us/library/aa581776.aspx