Heim >Datenbank >MySQL-Tutorial >Wie übergebe ich SSIS-Variablen als Parameter an eine SQL-Ausführungsaufgabe für dynamisches SQL?

Wie übergebe ich SSIS-Variablen als Parameter an eine SQL-Ausführungsaufgabe für dynamisches SQL?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-06 18:17:43830Durchsuche

How to Pass SSIS Variables as Parameters to an Execute SQL Task for Dynamic SQL?

Übergabe von Variablen als Parameter in der Aufgabe „SQL ausführen“ in SSIS

Bei der Ausführung dynamischer SQL-Vorgänge ist häufig die Übergabe von Variablen als Parameter erforderlich, um Abfragen vielseitiger zu gestalten. In einem SSIS-Paket tritt ein solches Szenario auf, wenn Sie externe Werte an eine temporäre Tabellenerstellungsabfrage im Task „SQL ausführen“ übergeben müssen.

Frage:

Überlegen Sie ein SSIS-Paket, bei dem Daten aus einer Flatfile in eine Tabelle eingefügt werden. In diesem Paket wird ein „SQL ausführen“-Task verwendet, um eine temporäre Tabelle namens ##temptable mit bestimmten Spalten zu erstellen. Anschließend werden die Daten anhand bestimmter Filterkriterien in ##temptable eingefügt. Die Anforderung besteht darin, diese Filterkriterien dynamisch mithilfe von Variablen zu übergeben, die im SSIS-Paket erstellt wurden.

Lösung:

Um eine dynamische Parameterübergabe zu erreichen, konfigurieren Sie den Task „SQL ausführen“ wie folgt :

  1. Setzen Sie den SQLSourceType auf „Direct Input“.
  2. Geben Sie in der SQL-Anweisung den Namen der gespeicherten Prozedur an zusammen mit Fragezeichen für jeden Parameter, zum Beispiel:
CREATE PROCEDURE [dbo].[usp_temptable]
(
    @date DATETIME,
    @portfolioId INT,
    @stype NVARCHAR(50)
)
AS
BEGIN
    INSERT INTO [tempdb].dbo.##temptable (date, companyname, price, PortfolioId, stype)
    SELECT   date, companyname, price, PortfolioId, stype
    FROM        ProgressNAV
    WHERE     (Date = @date) AND (PortfolioId = @portfolioId) AND (stype in (@stype))
    ORDER BY CompanyName
END
  1. Klicken Sie auf die Parameterzuordnungsoption und stellen Sie die Verbindung zwischen jedem gespeicherten Prozedurparameter und der entsprechenden SSIS-Variablen her.
  2. Konfigurieren Sie die SSIS-Variablen mit den gewünschten Werten, die während der Aufgabenausführung an die gespeicherte Prozedur übergeben werden.

Das obige ist der detaillierte Inhalt vonWie übergebe ich SSIS-Variablen als Parameter an eine SQL-Ausführungsaufgabe für dynamisches SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn