为什么BODS(数据服务)Table_Comparison和Map_operation在timestamp列中丢失毫秒

时间:2016-07-14 13:38:21

标签: sap

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

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

作为测试,如果我使用QueryTransformer清除并填充目标表,那么timestamp列就可以了。

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

谢谢

1 个答案:

答案 0 :(得分:0)

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

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