sql-server - 在SSIS中,如何获取应处理的源返回的行数

标签 sql-server events event-handling ssis rows

我正在开发一个项目,将日志记录添加到我们的 SSIS 包中。我正在通过实现一些事件处理程序来进行自己的自定义日志记录。我已经实现了 OnInformation 事件,将时间、源名称和消息写入日志文件。当数据从一个表移动到另一个表时,OnInformation 事件会给我一条消息,例如:

component "TABLENAME" (1)" wrote 87 rows.

如果其中一行失败,假设在预期的 87 行中只处理了 85 行。我假设上面的行将读取写入了 85 行。在这种情况下,我如何跟踪应该处理多少行?我希望看到类似写了 87 行中的 85 行之类的内容。基本上,我认为我需要知道如何获取从源查询返回的行数。有没有简单的方法可以做到这一点?

谢谢

最佳答案

您可以使用Row Count transaformation在数据源之后并将其保存为变量。这将是要处理的行数。一旦将其加载到目标中,您应该使用 Execute SQL TaskControl flow并使用Select Count(*) from <<DestinationTable>>并将计数保存到其他变量中[您应该在查询中使用Where 子句来识别当前负载]。因此,您将处理数行日志记录。

希望这有帮助!

关于sql-server - 在SSIS中,如何获取应处理的源返回的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14591985/

相关文章:

sql-server - Sql Server 2005 错误中的索引 View

sql-server - SQL 服务器 : run a script on all databases

sql - 如何在现有表中执行相当于 'Tsql select into' 的操作

SQL 连接主键上的行值

c++ - 函数解释令人困惑

Mockito 在 junit 中的事件

C# 自动生成EventHandler

python - Python中的事件系统

c# - 处理 WPF 用户控件的事件

c# - 该事件只能出现在+ =或-=的左侧