Oracle 11g SQL Server 2008 R2
I am receiving the following errors when trying to move data from an OLE DB Source (Oracle DB) to an OLE DB Destination (SQL Server). There are 8922 out of 65000 records that are added to the SQL server before the error appears. The date column in question for the 8922 does have a date added when it should. The column on Oracle is a DATE type. The column on SQL Server 2008 is a datetime.
On the SQL Server, for record # 8922 the RSVP_END_DT = 2007-06-25 12:06:00.000
On the Oracle Server for record # 8922 the RSVP_END_DT = 25-JUN-07
On the Oracle Server, for what should be record # 8923 in the SQL DB, the RSVP_END_DT = 10-AUG-07
I have searched each of the 'DTE_E' errors but have found not help. I have also tried using a data conversion and writing the Source SQL to set the date as a 'to_char' with the correct SQL format and that doesn't work either. Anyone have any other suggestions?
[OLE DB Destination [424]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21.
An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".
[OLE DB Destination [424]] Error: There was an error with input column "RSVP_END_DT" (487) on input "OLE DB Destination Input" (437). The column status returned was: "Conversion failed because the data value overflowed the specified type.".
[OLE DB Destination [424]] Error: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (437)" failed because error code 0xC020907A occurred, and the error row disposition on "input "OLE DB Destination Input" (437)" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination" (424) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (437). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.
[OLE_DB_SOURCE[1]] Error: The attempt to add a row to the Data Flow task buffer failed with error code 0xC0047020.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "OLE_DB_SOURCE" (1) returned error code 0xC02020C4. The component returned a failure code when the pipeline engine called PrimeOutput(). The meaning of the failure code is defined by the component, but the error is fatal and the pipeline stopped executing. There may be error messages posted before this with more information about the failure.
Here are three of my previous answers on this topic. You are most likely outside the range for Sql Server dates with that error message. I explain the different limits of Datetime and datetime2 in the last answer.
https://stackoverflow.com/a/11585853/236348
While getting the data from OLEDB source convert the source date column into a specified format like
YYYY MM DD
Select TO_CHAR(DateColumn,'yyyy/mm/dd') as CustomDate from yourTable
Not sure abt the syntax referred this article Instead of using To_Char use some oracle predefined function to get the date in correct format .Its always better to enrich or transform the source data before its gets into SSIS pipeline for furthur enrichment
and then in the derived column convert this string to your sql server date time format
convert(datetime, CustomDate , 111)
In SQl server i would have checked the column with isDate function or would have tried converting the values to a particular format
CASE WHEN isDate(DateColumn) = 1 THEN DateColumn ELSE NULL END as DateColumn
or
convert(datetime, '25-JUN-07', 106) -- dd.mm.yyyy
User contributions licensed under CC BY-SA 3.0