SQL Server的SSIS:ADO.net日期问题(SQL Server SSIS : ADO.

2019-10-17 01:10发布

我已经创建了一个SSIS包拉从Oracle 10g的服务器上的数据,并推动他们在SQL Server 2008中我在甲骨文评为日期数据类型字段admission_date

下面是我在Oracle查询。

select pt_id,admission_date 
from stays

它工作正常。

当我试图通过SSIS包通过ADO.net拉在SQL Server中的数据。 我得到了以下错误消息。

错误:0xC02090F5在停留,ADO NET来源[1050]:组件 “ADO NET源”(1050)无法处理的数据。 ORA-01843:不是有效的月份

错误:0xC0047038在住宿,SSIS.Pipeline:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 上部件“ADO NET源”(1050)的方法PrimeOutput返回错误代码0xC02090F5。 该组件返回故障代码时,管道引擎调用PrimeOutput()。 失败代码的含义由组件定义,但错误是致命和管道停止执行。 有可能在此之前张贴与故障有关的详细信息的错误消息。

在此将有帮助的任何输入。

Answer 1:

使用这样的TO_CHAR(addmission_date, 'YYYY-MM-DD HH24:MI:SS')到Oracle日期格式成SQL喜欢的格式。

另外要注意,Oracle有一个更大的有效日期范围比SQL所以这取决于你的Oracle数据你可能不遇到作为有效的SQL日期有效的Oracle日期。

请参阅使用SSIS从Oracle复制到SQL Server时处理时间戳/日期

而甲骨文SQL2005 DATETIME字段溢出在SSIS



Answer 2:

那么,问题是,Oracle表是一个视图,而不是表时,admission_date是从SQL解码命令提取。 我拉,因为它是和它解决了我的问题。



文章来源: SQL Server SSIS : ADO.net date issue