UPPDATERA november 2020.
Det här inlägget har ersatts av Hur man EXECAR en lagrad procedur från SSIS för att få dess utdata till textfil
som beskriver hur man kör en lagrad procedur från SSIS
exec mySproc WITH RESULT SETS ((i int))
titta på lösningen från Troy Witthoeft
Gammalt svar
Det finns en annan lösning som nämns på https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata
. Titta på alternativ 3.(november 2020; uppdaterad länk)
Citat:Lägg till lite metadata och "set nocount on" till den lagrade proceduren med en "short circuited if-sats" (om 1=0), och en falsk select-sats överst. Jag har testat med att försöka lämna "set nocount on" ute och det fungerade inte.
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
)