我有两个关于执行SQL任务生成的结果集的问题 -
1)存储结果集的对象的类是什么?它是ADODB记录集吗? 2)无论是什么对象,如何迭代该对象。我想简单地迭代它以网格形式打印它,就像它出现在SQL服务器管理工作室中一样。我想这样做而不将它放入DataTable对象或类似的东西。这将浪费记忆和时间。
有人可以告诉我该怎么做吗?
答案 0 :(得分:2)
1)结果集在技术上存储在OLEDB Rowset对象中,该对象可以放入ADORecordConstruction对象并转换为ADO RecordSet。每当您实际访问对象的数据时,SSIS都会隐式执行此操作。
没有脚本,在SSIS执行中看到这些数据的唯一方法是使用Foreach循环容器。
话虽这么说,如果你真的想要查看对象的数据,我高度建议创建数据流,将对象转换为脚本源,并将数据查看器附加到它以查看网格形式的数据。
最后,我建议如果您只是尝试调试和查看SQL任务返回的数据集,则脚本任务可以执行查询并将其结果快速推送到(例如)本地文件中。
答案 1 :(得分:0)
另一种方法是使用ADO.NET连接而不是OLEDB。如果使用ADO.NET连接,则会获得ADO.NET DataSet对象。 DataSet是DataTable的集合。
DataSet教程的一些链接 -
斯科特米切尔的啧啧 -