在SSIS 2008脚本任务中,毫秒被舍入到秒

时间:2013-10-04 18:10:11

标签: c# .net oledbdataadapter ssis-2008

我正在尝试将一些数据从一个数据库导入另一个数据库。一切正常,除了毫秒被舍入到最接近的秒。

在我的SSIS包中,我有一个 Recordset Destination ,它将查询结果存储到全局对象变量中。数据查看器显示正确显示包含其所有时间组件(包括毫秒)的日期。这是在数据流任务中。在此之后,我添加了一个脚本任务,该任务将结果存储在 Recordset Destination 任务中。我已经使用OleDbDataAdapter来读取此变量中的行到本地定义的DataTable。完成此操作后,任何DateTime字段中的毫秒数将四舍五入为秒。任何线索为什么会发生这种情况以及如何解决这个问题?

编辑:对每个容器任务使用a来遍历记录集变量中的所有行。它仍然以毫秒为单位舍入到最接近的秒数。

注意:我正在使用SSIS 2008,.NET 3.5SP1。 记录集目标具有日期时间字段的DT_DBTIMESTAMP数据类型。

1 个答案:

答案 0 :(得分:0)

不使用DateTime类型使用字符串类型,而是使用派生列添加新列,然后在进行保存调用之前将其转换回datetime类型。可以从源本身检索datetime作为字符串。