sql >> Databáze >  >> RDS >> Sqlserver

Použití tabulek Temp v SSIS

AKTUALIZACE listopad 2020.
Tento příspěvek byl nahrazen uživatelem Jak provést uloženou proceduru ze SSIS, aby se její výstup dostal do textového souboru který popisuje, jak spustit uloženou proceduru ze SSIS

exec mySproc WITH RESULT SETS ((i int))

podívejte se na řešení poskytnuté Troyem Witthoeftem

Stará odpověď
Existuje další řešení uvedené na https://web.archive.org/web/20120915093807/http://sqlserverpedia.com/blog/sql-server-bloggers/ssis-stored-procedure-metadata . Podívejte se na možnost 3. (listopad 2020; aktualizovaný odkaz)

Citace:Přidejte do uložené procedury nějaká metadata a „set nocount on“ s „klauzulí o zkratu if“ (pokud 1=0) a falešným příkazem select nahoře. Testoval jsem s pokusem vynechat "set nocount on" a nefungovalo to.

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. volání agregačních funkcí postgres nemusí být vnořeno

  2. Entity Framework s MySQL – vypršel časový limit při generování modelu

  3. Přidání výsledků databáze do pole

  4. Překlad dotazu z Firebirdu do PostgreSQL