A colleague of mine was selecting data from a table that contained a column called ErrorCode. The OLE DB Source in SSIS was giving an error that said:
The package contains two objects with the duplicate name of “output column “ErrorCode” (13)” and “output column “ErrorCode” (279)”
She was having trouble figuring out why it was complaining since the table she was pulling from had only one column named “ErrorCode”.
If you remember, data transformations can add columns to the data flow that describe error conditions. One of those columns is “ErrorCode”. This was the problem. SSIS wanted to reserve ErrorCode for the column that it adds and that conflicted with the column that was in the table. I wasn’t able to make this happen when I added a column called “ErrorCode” to a select statement – only when it was in the table from which the statment is selected.
We went to the source table and changed the name from ErrorCode to something else. This fixed the problem. The other way to fix it is to use the AS clause in SQL to change the name in the source query. Changing the output name in the Columns tab in the OLE DB Source didn’t fix the problem so you’ll have to go a little deeper to resolve the conflict.