Sql server 重定向无法在SSI中解析的行

Sql server 重定向无法在SSI中解析的行,sql-server,ssis,sql-server-2008-r2,Sql Server,Ssis,Sql Server 2008 R2,我有一个相当简单的数据流,从平面文件导入,进行一些简单的转换,然后插入到数据库表中。我的问题是,当供应商将不符合其规范的数据放入一行时(即,他们说一列将是一个数字(3,2),放入500000),整个文件失败,而不仅仅是这一行。理想情况下,我希望将未触及的坏行重定向到平面文件,但将它们放入“错误表”也可以。如何重定向不可解析的数据?将失败的行从快速加载目标重定向到非快速加载目标。在第二个目的地失败的记录可以重定向并进一步调查 以下博文中的“使用快速加载时处理失败的插入”一节解释了这种设计模式:将平

我有一个相当简单的数据流,从平面文件导入,进行一些简单的转换,然后插入到数据库表中。我的问题是,当供应商将不符合其规范的数据放入一行时(即,他们说一列将是一个数字(3,2),放入500000),整个文件失败,而不仅仅是这一行。理想情况下,我希望将未触及的坏行重定向到平面文件,但将它们放入“错误表”也可以。如何重定向不可解析的数据?

将失败的行从快速加载目标重定向到非快速加载目标。在第二个目的地失败的记录可以重定向并进一步调查


以下博文中的“使用快速加载时处理失败的插入”一节解释了这种设计模式:

将平面文件目标添加到平面文件源。所有的坏数据都会发送到那里,进程不会失败。另外,请记住重定向行,不要将其保留为“失败”。还必须创建一个普通的.txt文件以映射到flatfile目标(与flatfile source相同)

您使用第一个任务的错误输出流,该任务将列分配给导入的数据。将数据插入目标时,您可以将方法更改为“OpenRowset”。默认情况下,它的“OpenRowset with fastload”。这样,您将能够仅挑出坏行,而不是整个批/文件。让我们知道这是否有帮助。@rbaryyoung:这种方法的问题是,抛出错误的是平面文件数据源。来自该行的错误输出与数据行不相似。@rvphx:数据流没有走得那么远:平面文件数据源中出现故障。您需要编辑平面文件源定义,并添加错误输出定义,这些定义告诉它“重定向行”以查找每列上的转换错误。然后将失败行的数据嵌入错误输出行。