0

我在 Microsoft SSIS 2005 包中有一个 XML 源,当我调试包时,我收到如下警告:

[DTS.Pipeline] 警告:输出“AccFwdDetail”(303) 和组件“XML Source”(1) 上的输出列“AccBasicRateDesc”(15229) 随后未在数据流任务中使用。删除这个未使用的输出列可以提高数据流任务的性能。

所以我试图删除所有这些,但这似乎会导致问题,因为会有我不会使用的整个 xml 输出,这给了我错误:

联系人插入 [DTS.Pipeline] 时出错:“输出“AccFwdDetail”(19)”不包含输出列。异步输出必须包含输出列。

有没有一种巧妙的方法来定义我想要从 xml 文件中得到哪些输出?我尝试在高级编辑器中删除整个输出,但这给了我错误:

联系人插入错误 [XML 源 [1]]:无法从输出列中删除输出。

4

2 回答 2

1

看起来像第 42 条军规。

在这种情况下,我会忽略原来的警告——它只是一个性能警告,不会引起任何真正的问题。在这种情况下,性能影响很小,因为没有人会使用此输出中的数据。

于 2009-01-14T19:39:56.287 回答
1

在数据源之后,在数据流中使用 Union All 组件(将您的数据源作为唯一输入)。在此处删除所有未使用的列。

据我所知,这是摆脱这些警告的唯一方法。

以下是一些关于 SSIS 性能的非常有用的链接:

http://blogs.msdn.com/michen/archive/2007/06/11/katmai-ssis-data-flow-improvements.aspx

http://www.microsoft.com/technet/prodtechnol/sql/2005/ssisperf.mspx

http://www.simple-talk.com/sql/sql-server-2005/sql-server-2005-ssis-tuning-the-dataflow-task/

于 2009-01-15T05:49:39.427 回答