SSIS - 执行 SQL 任务 - UPDATE 语句未更新

问题描述 投票:0回答:1

我有一个简单的包,可将数据从 A 点流向 B 点 - 中间是一个行计数转换,用于填充

Int32
类型的变量。

在数据流任务之后,我有一个带有更新语句的简单执行 SQL 任务:

UPDATE  [SAP].[SAPCopyInfo]
  SET [endtime] = GETDATE(),
      [MSEGCnt] = ?
  WHERE [BegTime] = CAST(GETDATE() AS DATE)

我已将变量映射为参数,如下所示:

当我执行包时,执行 SQL 任务(名为“更新日志”)显示成功:

变量 watch 显示

intMSEGCnt
已正确填充:

但是表格没有更新 - 并且输出窗口中没有错误:

在 SSMS 中手动执行

UPDATE
SQL 工作正常(将 ? 替换为正确的值),因此它似乎不是权限问题。

我已经尝试了参数映射的“数据类型”的各种迭代,但没有任何效果。

我什至取消了

UPDATE
语句的参数化,并使用硬编码值直接在执行 SQL 任务中运行它,但它仍然不起作用。

我错过了什么?

sql-server t-sql ssis
1个回答
0
投票

有时你只需要另一双眼睛 - 感谢@GSerg 和@TN

答案是简单地将

UPDATE
查询更改为:

UPDATE  [SAP].[SAPCopyInfo]
  SET [endtime] = GETDATE(),
      [MSEGCnt] = ?
  WHERE CAST([BegTime] AS DATE) = CAST(GETDATE() AS DATE)
© www.soinside.com 2019 - 2024. All rights reserved.