UPDATE November 2020.
Dieser Beitrag wurde ersetzt durch Wie man eine gespeicherte Prozedur von SSIS ausführt, um ihre Ausgabe in eine Textdatei zu bekommen
das beschreibt, wie eine gespeicherte Prozedur von SSIS aus ausgeführt wird
exec mySproc WITH RESULT SETS ((i int))
Sehen Sie sich die Lösung von Troy Witthoeft an
Alte Antwort
Es gibt eine andere Lösung, die unter https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata
. Sehen Sie sich Option 3 an. (November 2020; aktualisierter Link)
Zitat:Fügen Sie der gespeicherten Prozedur einige Metadaten und das "set nocount on" mit einer "kurzgeschlossenen if-Klausel" (wenn 1 =0) und einer falschen select-Anweisung oben hinzu. Ich habe getestet, indem ich versucht habe, "set nocount on" auszulassen, und es hat nicht funktioniert.
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
)