OLEDB命令转换不会在一个查询中更新多个列

时间:2014-11-05 04:34:24

标签: sql-server-2008 ssis lookup oledbcommand

我有一个非常特殊的情况。我试图通过OLEDB命令更新SQL Server中的表。该包的源代码是一个带有SQL查询的OLEDB源,它引用表本身,即源和目标是相同的,尽管源连接到其他表并且是复杂查询的一部分。

源生成一些在特定列上查找的行。如果查找结果匹配,那么我需要为匹配的行更新几列。所以结构是:

OLEDB SOURCE (Query that produces the values that will be used to update the table in OLEDB Destination)

LOOKUP

oledb command (update).

但我面临的问题很奇怪。当我编写查询来更新所有字段时,表格不会更新。如果我写查询只更新一个列,它就可以工作。所以实际上:

update table set field1 = ?, field2 = ?, field3 = ?, field4 = ? where MatchingColumn = ?

不起作用。 但是

update table set field1 = ? where MatchingColumn = ? 

作品。这是我做错了还是这个已知的问题?

0 个答案:

没有答案