I have a scenario where emp table has id,name,description.
i need to copy only id and name columns to emptem.
when a newrecord is added in emp the same should be inserted into emptem without any duplicates.
i have done this using lookup by specifying emptem table in lookup and matched the destination to emptem with no matched columns.
Now i have a new scenario where if any of record in emp is updated i need the updated value in emptem.
i am continuing the same scenario as above and matching lookup table to oledb command. i have given the update stmt
update emptem set empno = ? where empname=?
i am getting the error as follows
Error: 0xC0202009 at Data Flow Task 5, OLE DB Command [177]: 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: "Invalid character value for cast specification".
Error: 0xC020901C at Data Flow Task 5, OLE DB Command [177]: There was an error with input column "ename" (193) on input "OLE DB Command Input" (182). The column status returned was: "The value could not be converted because of a potential loss of data.".
Error: 0xC0209029 at Data Flow Task 5, OLE DB Command [177]: SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Command Input" (182)" failed because error code 0xC0209069 occurred, and the error row disposition on "input "OLE DB Command Input" (182)" 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.
Error: 0xC0047022 at Data Flow Task 5, SSIS.Pipeline: SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Command" (177) failed with error code 0xC0209029 while processing input "OLE DB Command Input" (182). 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.
Any suggestions?
The error you are getting is not directly related to the update itself, but with data types. The value you are trying to insert in the column ename
is not of the same type or size as the destination table.
Find out what is different and do your conversion before the destination component, and everything should work
Probably you are interchanging the order of the mapping of the destination column with the "?" parameters (in OLEDB Command transformation)
update emptem set empno = ? where empname=?
In Column Mappings Tab (of OLEDB Command Transformation) make sure Param_0 maps to empno and Param_1 maps to empName
User contributions licensed under CC BY-SA 3.0