首页 文章

在visual studio 2012中使用SSIS中的临时表调用sproc

提问于
浏览
0

我是SSIS的新手,非常感谢下面我的问题的任何帮助 - 我有一个存储过程,它不接受任何输入并返回临时表 . 这用于数据验证,并且每天都会运行,因此我需要为它创建一个SSIS包(要求是这样) . 我创建了一个执行SQL任务,其中我将结果集放在Object类型的变量中,但我想添加一个检查rowcount> 1的条件,如果是,则写入excel文件 .

谢谢,希拉里

3 回答

  • 0

    答案取决于您使用的是SSIS 2012还是2008.假设您使用的是SSIS 2012:方法 - 为rowcount声明变量类型int . 在Foreach循环中处理收到的Object变量,更多详细信息和屏幕截图可在this article中找到 . 内部循环 - 增量变量 . 然后,您可以基于rowcount变量值> 0执行条件执行 . 替代方案 - 对SSIS 2008也有效:

    • 具有结果集的对象只不过是.NET数据集 . 创建一个脚本任务,用于计算数据集第一个表中的行,并将其存储在变量中 . 然后如上所述在包中使用此变量 .

    • 不使用执行SQL脚本任务进行SP运行,而是将DataFlow与OLE DB源一起使用,并将存储过程指定为数据源 . 然后,您可以计算结果行,将值存储在变量等中 .

  • 0

    为连接管理器更改属性Retainsameconnection = true

    这样做可以访问上一步中创建的临时表 .

  • 0

    如果您希望在单独的步骤中完成创建,则可以使用全局临时表 . 但这带来了自己的问题,例如每个人/每个进程都可以访问 .

相关问题