Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
SSIS Integration Runtime in Azure Data Factory
Die Transformation für den OLE DB-Befehl führt eine SQL-Anweisung für jede Zeile in einem Datenfluss aus. Beispielsweise können Sie eine SQL-Anweisung ausführen, die Zeilen in einer Datenbanktabelle einfügt, aktualisiert oder löscht.
Sie können die OLE DB-Befehlstransformation auf folgende Arten konfigurieren:
Stellen Sie die SQL-Anweisung bereit, die die Transformation für jede Zeile ausführt.
Geben Sie an, nach wie vielen Sekunden ein Timeout bei der SQL-Anweisung eintritt.
Geben Sie die Standardcodepage an.
In der Regel enthält die SQL-Anweisung Parameter. Die Parameterwerte sind in externen Spalten in der Transformationseingabe gespeichert, und beim Zuordnen einer Eingabespalte zu einer externen Spalte wird eine Eingabespalte einem Parameter zugeordnet. Angenommen, Sie möchten Zeilen in der DimProduct -Tabelle anhand des Werts in der ProductKey -Spalte suchen und diese dann löschen. Hierzu können Sie die externe Spalte Param_0 der ProductKey -Eingabespalte zuordnen und anschließend den SQL-Befehl DELETE FROM DimProduct WHERE ProductKey = ?ausführen. Die OLE DB-Befehlstransformation gibt die Parameternamen vor, und Sie können sie nicht ändern. Die Parameternamen lauten Param_0, Param_1usw.
Wenn Sie die Transformation für OLE DB-Befehl mithilfe des Dialogfelds Erweiterter Editor konfigurieren, können die Parameter in der SQL-Anweisung automatisch externen Spalten in der Transformationseingabe zugeordnet und die Merkmale jedes Parameters definiert werden, indem Sie auf die Schaltfläche Aktualisieren klicken. Wenn jedoch der von der Transformation für OLE DB-Befehl verwendete OLE DB-Anbieter das Ableiten von Parameterinformationen von dem Parameter nicht unterstützt, müssen Sie die externen Spalten manuell konfigurieren. Das heißt, Sie müssen der Transformation für jeden Parameter zur externen Eingabe eine Spalte hinzufügen, die Spaltennamen aktualisieren, um Namen wie Param_0zu verwenden, den Wert der DBParamInfoFlags-Eigenschaft angeben sowie die Eingabespalten, die Parameterwerte enthalten, den externen Spalten zuordnen.
Der Wert von DBParamInfoFlags stellt die Merkmale des Parameters dar. Beispielsweise gibt der Wert 1 an, dass der Parameter ein Eingabeparameter ist, und der Wert 65 gibt an, dass der Parameter ein Eingabeparameter ist und einen NULL-Wert enthalten kann. Die Werte müssen mit den Werten in der OLE DB-Enumeration DBPARAMFLAGSENUM übereinstimmen. Weitere Informationen finden Sie in der OLE DB-Referenzdokumentation.
Die OLE DB-Befehlstransformation enthält die benutzerdefinierte Eigenschaft SQLCommand. Diese Eigenschaft kann beim Laden des Pakets mithilfe eines Eigenschaftsausdrucks aktualisiert werden. Weitere Informationen finden Sie unter Integration Services-Ausdrücke (SSIS), Verwenden von Eigenschaftsausdrücken in Paketen und Benutzerdefinierte Eigenschaften von Transformationen.
Diese Transformation weist eine Eingabe, eine reguläre Ausgabe und eine Fehlerausgabe auf.
Protokollierung
Sie können die Aufrufe protokollieren, die von der OLE DB-Befehlstransformation an externe Datenanbieter ausgeführt werden. Mithilfe dieser Protokollierungsfunktion können Sie Verbindungen mit externen Datenquellen sowie die Befehle an externe Datenquellen, die von der OLE DB-Befehl-Transformation ausgeführt werden, auf Fehler überprüfen. Aktivieren Sie zum Protokollieren der von der Transformation für OLE DB-Befehl an externe Datenanbieter gerichteten Aufrufe die Paketprotokollierung, und wählen Sie das Diagnostic -Ereignis auf Paketebene aus. Weitere Informationen finden Sie unter Behandeln von Problemen mit Paketausführungstools.
Verwandte Aufgaben
Sie können die Transformation konfigurieren, indem Sie entweder den SSIS -Designer oder das Objektmodell verwenden. Details zum programmgesteuerten Konfigurieren dieser Transformation finden Sie im Entwicklerhandbuch.
Konfigurieren Sie die OLE DB-Befehlstransformation
Um eine OLE DB-Befehlstransformation hinzuzufügen und zu konfigurieren, muss das Paket bereits mindestens einen Datenfluss-Task und eine Quelle wie z. B. eine Flatfilequelle oder eine OLE DB-Quelle enthalten. Diese Transformation wird normalerweise zum Ausführen parametrisierter Abfragen verwendet.
Konfigurieren der OLE DB-Befehlstransformation
Öffnen Sie in SQL Server Data Tools (SSDT) das Integration Services-Projekt mit dem gewünschten Paket.
Doppelklicken Sie im Projektmappen-Explorer auf das Paket, um es zu öffnen.
Klicken Sie auf die Registerkarte Datenfluss, und ziehen Sie dann aus der Toolbox die OLE DB-Befehl-Transformation auf die Entwurfsoberfläche.
Verbinden Sie die OLE DB-Befehlstransformation mit dem Datenfluss, indem Sie eine Verbindung – den grünen oder roten Pfeil – von einer Datenquelle oder einer vorhergehenden Transformation auf die OLE DB-Befehlstransformation ziehen.
Klicken Sie mit der rechten Maustaste auf die Komponente, und wählen Sie „Bearbeiten“ oder Erweiterten Editor anzeigenaus.
Wählen Sie auf der Registerkarte Verbindungs-Manager in der Liste Verbindungs-Manager einen OLE DB-Verbindungs-Manager aus. Weitere Informationen finden Sie unter OLE DB Verbindungs-Manager.
Klicken Sie auf die Registerkarte Komponenteneigenschaften und im Feld SqlCommand auf die Ellipsenschaltfläche (...).
Geben Sie in Zeichenfolgenwert-Editordie parametrisierte SQL-Anweisung mithilfe eines Fragezeichens (?) als Parametermarkierung für jeden Parameter ein.
Klicken Sie auf Aktualisieren. Wenn Sie auf Aktualisierenklicken, erstellt die Transformation eine Spalte für jeden Parameter in der Sammlung externer Spalten und legt die DBParamInfoFlags-Eigenschaft fest.
Klicken Sie auf die Registerkarte Eingabe- und Ausgabeeigenschaften .
Erweitern Sie OLE DB-Befehlseingabe, und erweitern Sie dann Externe Spalten.
Überprüfen Sie, ob Externe Spalten eine Spalte für jeden Parameter in der SQL-Anweisung auflistet. Die Spaltennamen lauten Param_0, Param_1usw.
Die Spaltennamen sollten nicht geändert werden. Wenn Sie die Spaltennamen ändern, meldet Integration Services einen Validierungsfehler für die OLE DB-Befehl-Transformation.
Der Datentyp sollte auch nicht geändert werden. Die DataType-Eigenschaft der einzelnen Spalten wird auf den entsprechenden Datentyp festgelegt.
Falls Externe Spalten keine Spalten auflistet, müssen sie manuell hinzugefügt werden.
Klicken Sie für jeden Parameter in der SQL-Anweisung einmal auf Spalte hinzufügen .
Aktualisieren Sie die Spaltennamen auf Param_0, Param_1usw.
Geben Sie einen Wert in der DBParamInfoFlags-Eigenschaft an. Der Wert muss mit einem Wert in der OLE DB-Enumeration DBPARAMFLAGSENUM übereinstimmen. Weitere Informationen finden Sie in der OLE DB-Referenzdokumentation.
Geben Sie den Datentyp der Spalte und, in Abhängigkeit vom Datentyp, die Codepage, die Länge, die Genauigkeit und die Dezimalstellen der Spalte an.
Wenn Sie einen nicht verwendeten Parameter löschen möchten, wählen Sie den Parameter in Externe Spaltenaus, und klicken Sie auf Spalte entfernen.
Klicken Sie auf Spaltenzuordnungen , und ordnen Sie Spalten in der Liste Verfügbare Eingabespalten Parametern in der Liste Verfügbare Zielspalten zu.
Klicken Sie auf OK.
Klicken Sie im Menü Datei auf Speichern , um das aktualisierte Paket zu speichern.