使用 SSIS 出错后继续将输入文件行添加到 table
Continue adding input file rows to table after an error using SSIS
我是 SSIS 的新手,有一个包的问题一直困扰着我。
我公司有 SQL Server Business Intelligence Development Studio 2008(还有 SQL Server 2008 R2)。在 Control Flow 选项卡上,我有两个 executables:一个 Execute SQL Task (Truncate_crm_account_Table) 截断 SQL Server crm_account table,以及一个数据流任务。
在“数据流”选项卡上,我有一个用于打开和读取竖线分隔文件的平面文件源,以及一个用于将输入文件中的行移动到 crm_account table.
在“事件处理程序”选项卡上,我为 Truncate_crm_account_Table 创建了一个 OnError 事件处理程序,并为数据流任务创建了一个 OnError 事件处理程序。两个 OnError 事件处理程序都是一个执行 SQL 任务对象,它将遇到的错误写入 SQL 服务器错误 table.
如果数据没有问题,一切正常。当数据有错误时(例如,在第 10,000 行),程序包将通过其 butter 的记录写入 crm_account table(例如,9,000 条左右的记录)。该程序包还将错误写入错误 table,然后停止。项目经理希望包执行的操作是在遇到错误后继续处理输入文件的剩余部分。
在阅读了一些与我有些相关的 SSIS 问题的论坛和帖子之后,这就是我到目前为止所做的。在控制流选项卡上,对于数据流任务,我设置了 MaximumErrorCount = 0 并注意到 FailPackageOnFailure = False(同时,FailParentOnFailure = False)。我看到一些帖子提到设置系统变量 Propagate = False。这两个我都做了,但是包在第10000行遇到错误就停止了。
我不知道输入文件中会有多少条记录。因此,我认为使用 For Loop Container 不是添加到项目中的好对象。由于我是 SSIS 的新手,我不知道 ForEach 循环容器或其他一些对象是否适合。如何对该包进行最少的修改,使其在遇到数据错误后继续处理输入文件的剩余部分?
如果您能提供任何帮助,我们将不胜感激。预先感谢您的宝贵时间。
埃德
在源节点的数据流选项卡中,找到左侧的错误输出部分。单击它并将有问题的适用列更改为错误列下的 'ignore failure'。
我是 SSIS 的新手,有一个包的问题一直困扰着我。
我公司有 SQL Server Business Intelligence Development Studio 2008(还有 SQL Server 2008 R2)。在 Control Flow 选项卡上,我有两个 executables:一个 Execute SQL Task (Truncate_crm_account_Table) 截断 SQL Server crm_account table,以及一个数据流任务。
在“数据流”选项卡上,我有一个用于打开和读取竖线分隔文件的平面文件源,以及一个用于将输入文件中的行移动到 crm_account table.
在“事件处理程序”选项卡上,我为 Truncate_crm_account_Table 创建了一个 OnError 事件处理程序,并为数据流任务创建了一个 OnError 事件处理程序。两个 OnError 事件处理程序都是一个执行 SQL 任务对象,它将遇到的错误写入 SQL 服务器错误 table.
如果数据没有问题,一切正常。当数据有错误时(例如,在第 10,000 行),程序包将通过其 butter 的记录写入 crm_account table(例如,9,000 条左右的记录)。该程序包还将错误写入错误 table,然后停止。项目经理希望包执行的操作是在遇到错误后继续处理输入文件的剩余部分。
在阅读了一些与我有些相关的 SSIS 问题的论坛和帖子之后,这就是我到目前为止所做的。在控制流选项卡上,对于数据流任务,我设置了 MaximumErrorCount = 0 并注意到 FailPackageOnFailure = False(同时,FailParentOnFailure = False)。我看到一些帖子提到设置系统变量 Propagate = False。这两个我都做了,但是包在第10000行遇到错误就停止了。
我不知道输入文件中会有多少条记录。因此,我认为使用 For Loop Container 不是添加到项目中的好对象。由于我是 SSIS 的新手,我不知道 ForEach 循环容器或其他一些对象是否适合。如何对该包进行最少的修改,使其在遇到数据错误后继续处理输入文件的剩余部分?
如果您能提供任何帮助,我们将不胜感激。预先感谢您的宝贵时间。
埃德
在源节点的数据流选项卡中,找到左侧的错误输出部分。单击它并将有问题的适用列更改为错误列下的 'ignore failure'。