sql >> Database teknologi >  >> RDS >> Sqlserver

Brug af Temp-tabeller i SSIS

OPDATERING november 2020.
Dette indlæg er blevet afløst af Sådan udføres en lagret procedure fra SSIS for at få output til tekstfil der beskriver, hvordan man kører en lagret procedure fra SSIS

exec mySproc WITH RESULT SETS ((i int))

se på løsningen leveret af Troy Witthoeft

Gamle svar
Der er en anden løsning nævnt på https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata . Se på mulighed 3.(november 2020; opdateret link)

Citat:Tilføj nogle metadata og "sæt nocount on" til den lagrede procedure med en "short circuited if-klausul" (hvis 1=0) og en falsk select-sætning øverst. Jeg har testet med at prøve at udelade "set nocount on" og det virkede ikke.

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 
    ) 


  1. Sådan rettes Meddelelse:SQLSTATE[08004] [1040] For mange forbindelser

  2. SQL Server - Inkluder NULL ved hjælp af UNPIVOT

  3. Hvordan bruger man SqlCommand til at OPRETTE DATABASE med parameteriseret db-navn?

  4. Viser tidligere forespørgselslog - MySQL