1

我对SSIS相当陌生,

我正在从 XLS 电子表格导入数据库表。在此过程中,我想从表中选择一条记录,但这不是查找,即:没有来自输入源的连接的直接 SELECT。然后我想将它与 XLS 中的其他行合并。

做这个的最好方式是什么?变量?OLE DB 命令?

谢谢

4

2 回答 2

0

您可以使用 OLE DB 命令,但重要的是要记住它是按行触发的,并且可能会很慢。您仍然可以为此目的使用查找,但请确保您使用设置错误输出来忽略查找转换不包含您正在查找的匹配值的情况下的查找错误。

您还可以将合并转换与外部联接条件而不是内部联接一起使用。

于 2009-07-15T04:00:56.230 回答
0

如果您从数据库表中检索的记录不依赖于电子表格中的行中的数据,那么每一行可能都是相同的 - 这就是您所希望的吗?

在这种情况下,我会考虑在控制流中使用执行 SQL 任务来检索记录并将其保存到变量中。您可以使用数据流中的脚本组件将记录中的值从变量复制到每行中的相应字段。这意味着查找数据只检索一次,而不是每行一次,这就像上面的 jn29098 所说的那样慢。

如果您的数据流的目标与您从中提取“查找”记录的数据库相同,那么您还可以考虑使用执行 SQL 任务(在控制流中)在电子表格数据有后添加查找值到达数据库(一旦数据流完成)。这会更有效率。

于 2009-12-08T13:22:13.460 回答