I encountered this error while calling a stored procedure in SSIS one day. The stored procedure was calling Oracle via a linked server. Evidently when SSIS calls a stored procedure it gets a set of fields, but since the linked server call couldn’t give it a compiled list of fields it was causing an error.
To fix the problem all you need to do is set the following settings before called the stored procedure.
SET FMTONLY OFF
SET NOCOUNT ON
exec storeproc name
Let me know if this helps you out.