Delen via


OLE DB-opdrachttransformatie

van toepassing op:SQL Server SSIS Integration Runtime in Azure Data Factory

Met de OLE DB-opdrachttransformatie wordt een SQL-instructie uitgevoerd voor elke rij in een gegevensstroom. U kunt bijvoorbeeld een SQL-instructie uitvoeren waarmee rijen in een databasetabel worden ingevoegd, bijgewerkt of verwijderd.

U kunt de OLE DB-opdrachttransformatie op de volgende manieren configureren:

  • Geef de SQL-query op die door de transformatie voor elke rij wordt uitgevoerd.

  • Geef het aantal seconden op voordat er een time-out optreedt voor de SQL-instructie.

  • Geef de standaardcodepagina op.

Normaal gesproken bevat de SQL-instructie parameters. De parameterwaarden worden opgeslagen in externe kolommen in de transformatieinvoer en de toewijzing van een invoerkolom aan een externe kolom wijst een invoerkolom toe aan een parameter. Als u bijvoorbeeld rijen in de tabel DimProduct wilt zoeken op basis van de waarde in de kolom ProductKey en deze vervolgens wilt verwijderen, kunt u de externe kolom met de naam Param_0 toewijzen aan de invoerkolom ProductKey en vervolgens de SQL-instructie DELETE FROM DimProduct WHERE ProductKey = ?uitvoeren. De OLE DB-opdrachttransformatie biedt de parameternamen en u kunt ze niet wijzigen. De parameternamen zijn Param_0, Param_1 enzovoort.

Als u de OLE DB-opdrachttransformatie configureert met behulp van het dialoogvenster Geavanceerde editor , kunnen de parameters in de SQL-instructie automatisch worden toegewezen aan externe kolommen in de transformatie-invoer en de kenmerken van elke parameter die is gedefinieerd door op de knop Vernieuwen te klikken. Als de OLE DB-provider die door de OLE DB-opdrachttransformatie wordt gebruikt echter geen ondersteuning biedt voor het afleiden van parametergegevens uit de parameter, moet u de externe kolommen handmatig configureren. Dit betekent dat u voor elke parameter een kolom moet toevoegen aan de externe invoer voor de transformatie, de kolomnamen moet bijwerken om namen zoals Param_0 te gebruiken, de waarde van de eigenschap DBParamInfoFlags op te geven en de invoerkolommen die parameterwaarden bevatten toe te wijzen aan de externe kolommen.

De waarde van DBParamInfoFlags vertegenwoordigt de kenmerken van de parameter. De waarde 1 geeft bijvoorbeeld aan dat de parameter een invoerparameter is en de waarde 65 geeft aan dat de parameter een invoerparameter is en een null-waarde kan bevatten. De waarden moeten overeenkomen met de waarden in de opsomming OLE DB DBPARAMFLAGSENUM. Zie de naslagdocumentatie voor OLE DB voor meer informatie.

De OLE DB-opdrachttransformatie bevat de aangepaste eigenschap SQLCommand . Deze eigenschap kan worden bijgewerkt door een eigenschapsexpressie wanneer het pakket wordt geladen. Zie SSIS-expressies (Integration Services),Eigenschapsexpressies gebruiken in pakketten en aangepaste eigenschappen transformeren voor meer informatie.

Deze transformatie heeft één invoer, één reguliere uitvoer en één foutuitvoer.

Loggen

U kunt de aanroepen die door de OLE DB-opdrachttransformatie worden uitgevoerd, registreren bij externe gegevensproviders. U kunt deze logboekregistratiefunctie gebruiken om problemen met de verbindingen en opdrachten op te lossen met externe gegevensbronnen die door de OLE DB-opdrachttransformatie worden uitgevoerd. Als u de aanroepen wilt vastleggen die door de OLE DB-opdrachttransformatie naar externe gegevensproviders worden uitgevoerd, schakelt u pakketregistratie in en selecteert u de diagnostische gebeurtenis op pakketniveau. Zie Hulpprogramma's voor probleemoplossing voor pakketuitvoering voor meer informatie.

U kunt de transformatie configureren met behulp van de SSIS Designer of het objectmodel. Zie de ontwikkelaarshandleiding voor meer informatie over het programmatisch configureren van deze transformatie.

De OLE DB-opdrachttransformatie configureren

Als u een OLE DB-opdrachttransformatie wilt toevoegen en configureren, moet het pakket al ten minste één gegevensstroomtaak en een bron, zoals een platte bestandsbron of een OLE DB-bron, bevatten. Deze transformatie wordt doorgaans gebruikt voor het uitvoeren van geparameteriseerde query's.

De OLE DB-opdrachttransformatie configureren

  1. Open in SQL Server Data Tools (SSDT) het Integration Services-project dat het gewenste pakket bevat.

  2. Dubbelklik in Solution Explorer op het pakket om het te openen.

  3. Klik op het tabblad Gegevensstroom en sleep vervolgens vanuit de werkset de OLE DB-opdrachttransformatie naar het ontwerpoppervlak.

  4. Verbind de OLE DB-opdrachttransformatie met de gegevensstroom door een verbindingslijn met de groene of rode pijl van een gegevensbron of een eerdere transformatie naar de OLE DB-opdrachttransformatie te slepen.

  5. Klik met de rechtermuisknop op het onderdeel en selecteer Bewerken of Geavanceerde editor weergeven.

  6. Selecteer op het tabblad Verbindingsbeheer een OLE DB-verbindingsbeheer in de lijst Verbindingsbeheer . Zie OLE DB Connection Manager voor meer informatie.

  7. Klik op het tabblad Eigenschappen van onderdeel en klik op de knop met het beletselteken (...) in het vak SqlCommand .

  8. Typ in de tekenreekswaarde-editor de geparameteriseerde SQL-instructie met behulp van een vraagteken (?) als parametermarkering voor elke parameter.

  9. Klik op Vernieuwen. Wanneer u op Vernieuwen klikt, wordt met de transformatie een kolom gemaakt voor elke parameter in de verzameling Externe kolommen en wordt de eigenschap DBParamInfoFlags ingesteld.

  10. Klik op het tabblad Invoer- en uitvoereigenschappen .

  11. Vouw OLE DB-opdrachtinvoer uit en vouw vervolgens Externe kolommen uit.

  12. Controleer of externe kolommen een kolom voor elke parameter in de SQL-instructie bevatten. De kolomnamen worden Param_0, Param_1 enzovoort.

    U moet de kolomnamen niet wijzigen. Als u de kolomnamen wijzigt, genereert Integration Services een validatiefout voor de OLE DB-opdrachttransformatie.

    U moet ook het gegevenstype niet wijzigen. De eigenschap DataType van elke kolom is ingesteld op het juiste gegevenstype.

  13. Als externe kolommen geen kolommen bevatten, moet u deze handmatig toevoegen.

    • Klik één keer op Kolom toevoegen voor elke parameter in de SQL-instructie.

    • Werk de kolomnamen bij naar Param_0, Param_1 enzovoort.

    • Geef een waarde op in de eigenschap DBParamInfoFlags. De waarde moet overeenkomen met een waarde in de opsomming OLE DB DBPARAMFLAGSENUM. Zie de naslagdocumentatie voor OLE DB voor meer informatie.

    • Geef het gegevenstype van de kolom op en geef, afhankelijk van het gegevenstype, de codepagina, lengte, precisie en schaal van de kolom op.

    • Als u een ongebruikte parameter wilt verwijderen, selecteert u de parameter in Externe kolommen en klikt u op Kolom verwijderen.

    • Klik op Kolomtoewijzingen en wijs kolommen in de lijst Beschikbare invoerkolommen toe aan parameters in de lijst Beschikbare doelkolommen .

  14. Klik op OK.

  15. Als u het bijgewerkte pakket wilt opslaan, klikt u op Opslaan in het menu Bestand .

Zie ook

gegevensstroom
Integration Services-transformaties