ACTUALIZACIÓN de noviembre de 2020.
Esta publicación ha sido reemplazada por Cómo ejecutar un procedimiento almacenado de SSIS para obtener su salida en un archivo de texto
que describe cómo ejecutar un procedimiento almacenado desde SSIS
exec mySproc WITH RESULT SETS ((i int))
mira la solución proporcionada por Troy Witthoeft
Respuesta antigua
Hay otra solución mencionada en https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata
. Mire la opción 3. (Noviembre de 2020; enlace actualizado)
Cita:agregue algunos metadatos y "establecer sin contar" al procedimiento almacenado con una "cláusula if en cortocircuito" (si 1 =0) y una declaración de selección falsa en la parte superior. Probé tratando de dejar el "set nocount on" y no funcionó.
CREATE PROCEDURE [dbo] . [GenMetadata] AS
SET NOCOUNT ON
IF 1 = 0
BEGIN
-- Publish metadata
SELECT CAST (NULL AS INT ) AS id ,
CAST (NULL AS NCHAR ( 10 )) AS [Name] ,
CAST (NULL AS NCHAR ( 10 )) AS SirName
END
-- Do real work starting here
CREATE TABLE #test
(
[id] [int] NULL,
[Name] [nchar] ( 10 ) NULL,
[SirName] [nchar] ( 10 ) NULL
)