我有一个非常特殊的情况。我试图通过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 = ?
作品。这是我做错了还是这个已知的问题?