SCD模块中的参数-历史类型



当SCD组件类型历史中添加新记录时,OLE DB命令执行查询:

UPDATE [table] SET [ExpirationDate] = ? WHERE [ID] = ? AND [ExpirationDate] = '9999-12-31'

如何在发生更改时修复该查询以设置[ExpirationDate]=[ImportDate]。查询:

UPDATE [table] SET [ExpirationDate] = [ImportDate] WHERE [ID] = ? AND [ExpirationDate] = '9999-12-31'

生成错误:

OLE DB provider used by the OLE DB adapter cannot convert between 
types DT_DBTIMESTAMP2 and DT_NUMERIC for Param_0

我不明白,因为[ExpirationDate]和[ImportDate]都有相同的类型(datetime2)。当历史发生变化时,如何实现此更新?

OLEDB命令中的错误消息指的是如何映射"?"。ID是数字吗?下一个选项卡上的param_0是否映射到日期字段?

您应该设置此命令的方式如下:

UPDATE [table] SET [ExpirationDate] = ? WHERE [ID] = ? AND [ExpirationDate] = '9999-12-31'

在下面的选项卡上,您将有两个参数,第一个映射到[ImportDate],第二个映射到ID字段。参数按顺序映射。

最新更新