我正在创建一个SSIS包,它将写入文本文件的 Headers 中
STARTDATE|ENDDATE|ROWCOUNT
然后是存储过程的结果 . ROWCOUNT是存储过程中数据集中的行数 . 数据集将写入平面文件的主体 .
我的包裹成功了 . 它有三个数据流任务:
DetermineRowCount,WriteHeader和WriteData .
DetermineRowCount和WriteData都命中了同一个OLE DB Source - Data项的副本 .
DetermineRowCount数据流是OLE DB源 - 数据--->行计数,其中设置了RowCount变量 .
I would like to eliminate one copy of the OLE DB Source - Data.
有没有办法获取RowCount and 数据,写入 Headers ,然后写入正文,而不调用存储过程两次?
2 回答
问题的简短答案“是否有办法获取RowCount和数据,写入 Headers ,然后写入正文,而不调用存储过程两次?”唉,唉,“不 . ”至少,不是在单个数据流中 .
但是, is 可能会消除对 stored procedure 的第二次调用 . 将行计数转换添加到原始数据流,并将计数保存到适当命名的变量 . 然后将一个脚本组件添加到包流中,以将所需的 Headers 行添加到文本文件中 .
您可以在同一数据流中编写 Headers 和正文 . 只需将RowCount组件放在源组件后面即可 .