【发布时间】:2012-03-14 14:47:47
【问题描述】:
我有一个 SSIS 包。源是一个 SQL 查询。目的地是一张桌子。该包一直有效,直到我将目标表中的列从 datetime 更改为 datetimeoffset(0)。
现在,所有记录都失败,并在此特定列上显示“转换失败,因为数据值溢出了提供程序使用的类型”错误。
源查询中的值是 getdate()。我试过 TODATETIMEOFFSET(getdate(),'-05:00') 没有成功。
事实上,到目前为止唯一有效的是将以下内容硬编码到源查询中:
cast('3/14/12' as datetime)
另一条有趣的信息是,当针对另一台服务器运行源查询时,该程序包运行良好,这意味着可能涉及到一个设置 - 但我发现两台服务器之间没有明显差异。
【问题讨论】:
-
我遇到了类似的问题,我发现执行此处列出的操作会有所帮助:social.msdn.microsoft.com/Forums/en/sqlintegrationservices/…。我制作了一个明确的格式以在派生列中使用。很痛苦,但似乎在 SSIS 中使用 dateTime 元素发生了一些奇怪的事情。
-
数据流中列的数据类型是什么?右键单击源查询的路径并选择元数据
标签: sql sql-server ssis datetimeoffset