1

我在 BODS(SAP 数据服务)中有一个数据流,当我使用 Table_Comparison/Map_Operation 组合时,定义为 datetime2 的 SQL Server 列上的毫秒数被删除。

当 Map_Operation 更新目标表时,Datetime2 列中的毫秒数将被删除(即从 11:25:17.388000000 到 11:25:17.000000000)。

作为测试,如果我使用 QueryTransformer 来清除和填充目标表,时间戳列就可以了。

处理时间戳 (datetime2) 列时是否存在 BODS 错误?有什么我想念的吗?

谢谢

4

1 回答 1

1

解决方案是在 Table_Comparison 组件前面放置一个 QueryTransformer。在 QueryTransformer 中,专门将目标列数据类型从 varchar(27) 更改为时间戳。我还在映射中提供了一个强制转换,以避免有关将数据转换为时间戳的警告。

如果您选择“排序输入”作为比较方法,则此 QueryTransformer 添加还需要对构成主键的列进行排序。否则,您将收到输入表未排序的消息。

于 2016-07-14T21:09:13.730 回答