I have been recently upgrading SQL Server 2005 SSIS packages to 2008 R2 using the automated wizard. The wizard performed the upgrades without error, however on executing the packages I would get the following error in a data flow OLE DB command component:
Error: 2012-08-29 14:53:02.20 Code: 0xC0202009 Source: DFT – Process Hits OLE DB getBrowserHash [89428] Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. An OLE DB record is available. Source: “Microsoft SQL Server Native Client 10.0” Hresult: 0x80004005 Description: “Cannot use the OUTPUT option when passing a constant to a stored procedure.”. End Error
I did much investigation into this (basically Google and various hacking (i.e. turning MARS off then on) but was unable to resolve the issue.
To resolve the issue I created a new OLE DB connection manager and changed the data flow OLE DB command to use the new connection manager, and the error no longer occurred.