AKTUALIZACJA listopad 2020 r.
Ten post został zastąpiony przez Jak wykonać EXEC procedurę składowaną z SSIS, aby uzyskać dane wyjściowe do pliku tekstowego
opisujący, jak uruchomić procedurę składowaną z SSIS
exec mySproc WITH RESULT SETS ((i int))
spójrz na rozwiązanie dostarczone przez Troya Witthoefta
Stara odpowiedź
Istnieje inne rozwiązanie wymienione na https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata
. Spójrz na opcję 3. (listopad 2020 r.; zaktualizowany link)
Cytat:Dodaj metadane i "set nocount on" do procedury składowanej z "short circuited if" (jeśli 1=0) i fałszywą instrukcją select na górze. Testowałem, próbując pozostawić opcję „ustaw nocount on” i to nie zadziałało.
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
)