Dela via


Skriptkomponent

gäller för:SQL Server SSIS Integration Runtime i Azure Data Factory

Skriptkomponenten är värd för skript och gör det möjligt för ett paket att inkludera och köra anpassad skriptkod. Du kan använda skriptkomponenten i paket i följande syften:

  • Tillämpa flera transformeringar på data i stället för att använda flera transformeringar i dataflödet. Ett skript kan till exempel lägga till värdena i två kolumner och sedan beräkna medelvärdet av summan.

  • Få åtkomst till affärsregler i en befintlig .NET-sammansättning. Ett skript kan till exempel tillämpa en affärsregel som anger det värdeintervall som är giltigt i en inkomstkolumn .

  • Använd anpassade formler och funktioner utöver de funktioner och operatorer som uttrycksgrammatiken i Integration Services ger. Verifiera till exempel kreditkortsnummer som använder LUHN-formeln.

  • Verifiera kolumndata och hoppa över poster som innehåller ogiltiga data. Ett skript kan till exempel utvärdera rimligheten för ett portobelopp och hoppa över poster med extremt höga eller låga mängder.

Komponenten Skript är ett enkelt och snabbt sätt att inkludera anpassade funktioner i ett dataflöde. Men om du planerar att återanvända skriptkoden i flera paket bör du överväga att programmera en anpassad komponent i stället för att använda skriptkomponenten. Mer information finns i Utveckla en komponent för anpassat dataflöde.

Anmärkning

Om skriptkomponenten innehåller ett skript som försöker läsa värdet för en kolumn som är NULL misslyckas skriptkomponenten när du kör paketet. Vi rekommenderar att skriptet IsNull använder metoden för att avgöra om kolumnen är NULL innan du försöker läsa kolumnvärdet.

Skriptkomponenten kan användas som källa, transformering eller mål. Den här komponenten stöder en indata och flera utdata. Beroende på hur komponenten används stöder den antingen indata eller utdata eller båda. Skriptet anropas av varje rad i indata eller utdata.

  • Om den används som källa stöder skriptkomponenten flera utdata.

  • Om den används som en transformering stöder skriptkomponenten en indata och flera utdata.

  • Om den används som mål stödjer skriptkomponenten en indatagång.

Skriptkomponenten stöder inte felutdata.

När du har bestämt dig för att skriptkomponenten är det lämpliga valet för ditt paket måste du konfigurera indata och utdata, utveckla skriptet som komponenten använder och konfigurera själva komponenten.

Förstå skriptkomponentlägen

I SSIS Designer har skriptkomponenten två lägen: metadatadesignläge och koddesignläge. I metadatadesignläge kan du lägga till och ändra skriptkomponentens indata och utdata, men du kan inte skriva kod. När alla indata och utdata har konfigurerats växlar du till koddesignläge för att skriva skriptet. Skriptkomponenten genererar automatiskt baskod från metadata för indata och utdata. Om du ändrar metadata när skriptkomponenten genererar baskoden kanske koden inte längre kompileras eftersom den uppdaterade baskoden kan vara inkompatibel med koden.

Skriva skriptet som komponenten använder

Skriptkomponenten använder Microsoft Visual Studio Tools for Applications (VSTA) som den miljö där du skriver skripten. Du kommer åt VSTA från skripttransformeringsredigeraren.

Skriptkomponenten tillhandahåller ett VSTA-projekt som innehåller en automatiskt genererad klass med namnet ScriptMain som representerar komponentmetadata. Om skriptkomponenten till exempel används som en transformering som har tre utdata innehåller ScriptMain en metod för varje utdata. ScriptMain är startpunkten för skriptet.

VSTA innehåller alla standardfunktioner i Visual Studio-miljön, till exempel den färgkodade Visual Studio-redigeraren, IntelliSense och Object Browser. Skriptet som skriptkomponenten använder lagras i paketdefinitionen. När du utformar paketet skrivs skriptkoden tillfälligt till en projektfil.

VSTA stöder programmeringsspråken Microsoft Visual C# och Microsoft Visual Basic.

Information om hur du programmerar skriptkomponenten finns i Utöka dataflödet med skriptkomponenten. Mer specifik information om hur du konfigurerar skriptkomponenten som källa, transformering eller mål finns i Utveckla specifika typer av skriptkomponenter. Ytterligare exempel, till exempel ett ODBC-mål som visar användningen av skriptkomponenten, finns i Ytterligare skriptkomponentexempel.

Anmärkning

Till skillnad från tidigare versioner där du kan ange om skripten var förkompilerade, är alla skript förkompilerade i SQL Server 2008 Integration Services (SSIS) och senare versioner. När ett skript är förkompilerat läses inte språkmotorn in vid körning och paketet körs snabbare. Förkompilerade binära filer förbrukar dock betydande diskutrymme.

Konfigurera skriptkomponenten

Du kan konfigurera skriptkomponenten på följande sätt:

  • Välj de indatakolumner som ska refereras till.

    Anmärkning

    Du kan bara konfigurera en ingång när du använder SSIS Designer.

  • Ange det skript som komponenten kör.

  • Ange skriptspråket.

  • Ange kommaavgränsade listor med skrivskyddade variabler och läs-/skrivvariabler.

  • Lägg till fler utdata och lägg till utdatakolumner som skriptet tilldelar.

Du kan ange egenskaper via SSIS Designer eller programmatiskt.

Konfigurera skriptkomponenten i designern

Om du vill ha mer information om hur du anger dessa egenskaper i SSIS Designer klickar du på följande ämne:

Konfigurera skriptkomponenten programmatiskt

Om du vill ha mer information om de egenskaper som du kan ange i fönstret Egenskaper eller programmatiskt klickar du på något av följande avsnitt:

Om du vill ha mer information om hur du anger egenskaper klickar du på något av följande avsnitt:

Välj typ av skriptkomponent

Använd dialogrutan Välj skriptkomponenttyp för att ange om du vill skapa en skripttransformering som är förkonfigurerad för användning som källa, transformering eller mål.

Mer information om skriptkomponenten finns i Konfigurera skriptkomponenten i skriptkomponentredigeraren. Mer information om hur du programmerar skriptkomponenten finns i Utöka dataflödet med skriptkomponenten.

Alternativ

Ditt val av Källa, Mål eller Transformering påverkar konfigurationen av skripttransformeringen och sidorna i redigeraren för skripttransformering.

Skripttransformeringsredigeraren (sidan Anslutningshanterare)

Använd sidan Anslutningshanterare i skripttransformeringsredigeraren för att ange eventuella anslutningar som ska användas av skriptet.

Mer information om skriptkomponenten finns i Konfigurera skriptkomponenten i skriptkomponentredigeraren. Mer information om hur du programmerar skriptkomponenten finns i Utöka dataflödet med skriptkomponenten.

Alternativ

Anslutningshanterare
Visa listan över anslutningar som är tillgängliga för användning av skriptet.

Namn
Ange ett unikt och beskrivande namn för anslutningen.

Anslutningshanteraren
Välj i listan över tillgängliga anslutningshanterare eller välj <Ny anslutning> för att öppna dialogrutan Lägg till SSIS-anslutningshanterare .

Beskrivning
Ange en beskrivning för anslutningen.

Lägg till
Lägg till ytterligare en anslutning till listan Anslutningshanterare .

Ta bort
Ta bort den valda anslutningen från listan Anslutningshanterare .

Skripttransformation Editor (Indatakolumner-sidan)

Använd sidan Indatakolumner i dialogrutan Redigerare för skripttransformering för att ange egenskaper för indatakolumner.

Anmärkning

Sidan Indatakolumner visas inte för källkomponenter som har utdata men inga indata.

Mer information om skriptkomponenten finns i Konfigurera skriptkomponenten i skriptkomponentredigeraren. Mer information om hur du programmerar skriptkomponenten finns i Utöka dataflödet med skriptkomponenten.

Alternativ

Inmatningsnamn
Välj i listan över tillgängliga indata.

Tillgängliga Indatakolumner
Använd kryssrutorna och ange de kolumner som skripttransformeringen ska använda.

Indatakolumn
Välj i listan över tillgängliga indatakolumner för varje rad. Dina val återspeglas i kryssrutemarkeringarna i tabellen Tillgängliga indatakolumner .

Utgångsalias
Skriv ett alias för varje utdatakolumn. Standardvärdet är namnet på indatakolumnen. Du kan dock välja valfritt unikt, beskrivande namn.

Användningstyp
Ange om skripttransformeringen ska behandla varje kolumn som ReadOnly eller ReadWrite.

Skripttransformeringsredigeraren (indata- och utdatasida)

Använd sidan Indata och utdata i dialogrutan Redigerare för skripttransformering för att lägga till, ta bort och konfigurera indata och utdata för skripttransformeringen.

Anmärkning

Källkomponenter har utdata och inga indata, medan målkomponenter har indata men inga utdata. Transformeringar har både indata och utdata.

Mer information om skriptkomponenten finns i Konfigurera skriptkomponenten i skriptkomponentredigeraren. Mer information om hur du programmerar skriptkomponenten finns i Utöka dataflödet med skriptkomponenten.

Alternativ

Indata och utdata
Välj indata eller utdata till vänster för att visa dess egenskaper i tabellen till höger. Vilka egenskaper som är tillgängliga för redigering varierar beroende på valet. Många av de egenskaper som visas är skrivskyddade. Mer information om de enskilda egenskaperna finns i följande avsnitt.

Vanliga egenskaper

Anpassade egenskaper för transformation

Lägg till utdata
Lägg till ytterligare utdata i listan.

Lägg till kolumn
Välj en mapp där du vill placera den nya utdatakolumnen och lägg sedan till kolumnen genom att klicka på Lägg till kolumn.

Ta bort utdata
Välj ett utdata och ta sedan bort det genom att klicka på Ta bort utdata.

Ta bort kolumn
Markera en kolumn och ta sedan bort den genom att klicka på Ta bort kolumn.

Skripttransformeringsredigerare (Skriptsida)

Använd fliken Skript i dialogrutan Redigerare för skripttransformering för att ange ett skript och relaterade egenskaper.

Mer information om skriptkomponenten finns i Konfigurera skriptkomponenten i skriptkomponentredigeraren. Mer information om hur du programmerar skriptkomponenten finns i Utöka dataflödet med skriptkomponenten.

Alternativ

Egenskaper
Visa och ändra egenskaperna för skripttransformeringen. Många av de egenskaper som visas är skrivskyddade. Du kan ändra följande egenskaper:

Värde Beskrivning
Beskrivning Beskriv skripttransformeringen i termer av dess syfte.
Locale-ID Ange nationella inställningar för att ange regionspecifik information för beställning och för datum- och tidskonvertering.
Namn Ange ett beskrivande namn för komponenten.
ValidateExternalMetadata Ange om skripttransformeringen validerar kolumnmetadata mot externa datakällor vid designtillfället. Värdet false fördröjer valideringen till körningstidpunkten.
ReadOnlyVariables Skriv en kommaavgränsad lista med variabler för skrivskyddad åtkomst av skripttransformeringen.

Obs! Variabelnamn är skiftlägeskänsliga.
ReadWriteVariables Skriv en kommaavgränsad lista med variabler för läs-/skrivåtkomst via skripttransformeringen.

Obs! Variabelnamn är skiftlägeskänsliga.
ScriptLanguage Välj det skriptspråk som ska användas av skriptkomponenten.

Om du vill ange standardskriptspråket för skriptkomponenter och skriptuppgifter använder du alternativet Skriptspråk på sidan Allmänt i dialogrutan Alternativ .
UserComponentTypeName Anger klassen ScriptComponentHost och sammansättningen Microsoft.SqlServer.TxScript som stöder SQL Server-infrastrukturen.

Redigera skript
Använd Microsoft Visual Studio Tools for Applications (VSTA) för att skapa eller ändra ett skript.

Integreringstjänstomvandlingar

Utöka dataflödet med skriptkomponenten