我正在开发一个项目,将日志记录添加到我们的 SSIS 包中。我正在通过实现一些事件处理程序来进行自己的自定义日志记录。我已经实现了 OnInformation 事件,将时间、源名称和消息写入日志文件。当数据从一个表移动到另一个表时,OnInformation 事件会给我一条消息,例如:
component "TABLENAME" (1)" wrote 87 rows.
如果其中一行失败,假设在预期的 87 行中只处理了 85 行。我假设上面的行将读取写入了 85 行
。在这种情况下,我如何跟踪应该处理多少行?我希望看到类似写了 87 行中的 85 行
之类的内容。基本上,我认为我需要知道如何获取从源查询返回的行数。有没有简单的方法可以做到这一点?
谢谢
最佳答案
您可以使用Row Count transaformation
在数据源之后并将其保存为变量。这将是要处理的行数。一旦将其加载到目标中,您应该使用 Execute SQL Task
在Control flow
并使用Select Count(*) from <<DestinationTable>>
并将计数保存到其他变量中[您应该在查询中使用Where 子句来识别当前负载]。因此,您将处理数行日志记录。
希望这有帮助!
关于sql-server - 在SSIS中,如何获取应处理的源返回的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591985/