AGGIORNAMENTO novembre 2020.
Questo post è stato sostituito da Come eseguire l'EXEC di una stored procedure da SSIS per ottenere il suo output in un file di testo
che descrive come eseguire una procedura memorizzata da SSIS
exec mySproc WITH RESULT SETS ((i int))
guarda la soluzione fornita da Troy Witthoeft
Vecchia risposta
Esiste un'altra soluzione menzionata in https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata
. Guarda l'opzione 3. (novembre 2020; link aggiornato)
Citazione:aggiungi alcuni metadati e "set nocount on" alla stored procedure con una "clausola if in cortocircuito" (se 1 =0) e un'istruzione select fasulla in alto. Ho provato a lasciare fuori "set nocount on" e non ha funzionato.
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
)