Dela via


Skriptuppgift

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

Skriptaktiviteten innehåller kod för att utföra funktioner som inte är tillgängliga i de inbyggda uppgifter och transformeringar som SQL Server Integration Services tillhandahåller. Skriptaktiviteten kan också kombinera funktioner i ett skript i stället för att använda flera uppgifter och transformeringar. Du använder skriptaktiviteten för arbete som måste utföras en gång i ett paket (eller en gång per uppräknat objekt) i stället för en gång per datarad.

Du kan använda skriptaktiviteten i följande syfte:

  • Få åtkomst till data med hjälp av andra tekniker som inte stöds av inbyggda anslutningstyper. Ett skript kan till exempel använda Active Directory Service Interfaces (ADSI) för att komma åt och extrahera användarnamn från Active Directory.

  • Skapa en paketspecifik prestandaräknare. Ett skript kan till exempel skapa en prestandaräknare som uppdateras när en komplex eller dåligt presterande uppgift körs.

  • Identifiera om de angivna filerna är tomma eller hur många rader de innehåller och sedan baserat på den informationen påverkar kontrollflödet i ett paket. Om en fil till exempel innehåller noll rader hindrar värdet för en variabel som anges till 0 och en prioritetsbegränsning som utvärderar värdet en filsystemaktivitet från att kopiera filen.

Om du måste använda skriptet för att utföra samma arbete för varje rad med data i en uppsättning bör du använda skriptkomponenten i stället för skriptaktiviteten. Om du till exempel vill bedöma rimligheten för en postagemängd och hoppa över datarader som har mycket höga eller låga mängder använder du en skriptkomponent. Mer information finns i Script Component.

Om fler än ett paket använder ett skript kan du skriva en anpassad uppgift i stället för att använda skriptaktiviteten. Mer information finns i Utveckla en anpassad uppgift.

När du har bestämt dig för att skriptaktiviteten är det lämpliga valet för ditt paket måste du både utveckla skriptet som aktiviteten använder och konfigurera själva aktiviteten.

Skriva och köra skriptet som aktiviteten använder

Skriptaktiviteten använder Microsoft Visual Studio Tools for Applications (VSTA) som den miljö där du skriver skripten och motorn som kör dessa skript.

VSTA innehåller alla standardfunktioner i Visual Studio-miljön, till exempel den färgkodade Visual Studio-redigeraren, IntelliSense och Object Explorer. VSTA använder också samma felsökningsprogram som andra Microsoft-utvecklingsverktyg använder. Brytpunkter i skriptet fungerar sömlöst med brytpunkter för Integration Services-uppgifter och -containrar. VSTA stöder programmeringsspråken Microsoft Visual Basic och Microsoft Visual C#.

Om du vill köra ett skript måste du ha VSTA installerat på den dator där paketet körs. När paketet körs läser aktiviteten in skriptmotorn och kör skriptet. Du kan komma åt externa .NET-sammansättningar i skript genom att lägga till referenser till sammansättningarna i projektet. För närvarande stöder vi inte standardsammansättningsreferenser för .NET Core och .NET.

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 skriptuppgiften

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

  • Ange det anpassade skript som aktiviteten kör.

  • Ange den metod i VSTA-projektet som körningen av Integration Services anropar som startpunkt för skriptaktiviteten.

  • Ange skriptspråket.

  • Valfritt kan du ange listor över skrivskyddade variabler och skriv-/läsvariabler för användning i skriptet.

Du kan ange dessa egenskaper via SSIS Designer eller programmatiskt.

Konfigurera skriptuppgiften i designern

I följande tabell beskrivs händelsen ScriptTaskLogEntry som kan loggas för skriptaktivitet. Händelsen ScriptTaskLogEntry har valts för loggning på fliken Information i dialogrutan Konfigurera SSIS-loggar . Mer information finns i avsnittet om loggning av Integration Services (SSIS) .

Logganteckning Beskrivning
ScriptTaskLogEntry Rapporterar resultatet av implementering av loggning i skriptet. Uppgiften skriver en loggpost för varje anrop till log-metoden för Dts-objektet . Uppgiften skriver dessa poster när koden körs. Mer information finns i Loggning i skriptaktiviteten.

Mer information om de egenskaper som du kan ange i SSIS Designer finns i följande avsnitt:

Mer information om hur du anger dessa egenskaper i SSIS Designer finns i följande avsnitt:

Konfigurera skriptuppgiften programmatiskt

Mer information om hur du ställer in dessa egenskaper programmatiskt finns i följande avsnitt:

Skriptaktivitetsredigeraren (allmän sida)

Använd sidan Allmänt i dialogrutan Skriptaktivitetsredigerare för att namnge och beskriva skriptaktiviteten.

Mer information om skriptaktiviteten finns i Skriptuppgift och Konfigurera skriptaktivitet i skriptuppgiftsredigeraren. Mer information om hur du programmerar skriptaktiviteten finns i Utöka paketet med skriptuppgiften.

Alternativ

Namn
Ange ett unikt namn för skriptaktiviteten. Det här namnet används som etikett i aktivitetsikonen.

Anmärkning

Uppgiftsnamn måste vara unika inom ett paket.

Beskrivning
Ange en beskrivning av skriptaktiviteten.

Skriptaktivitetsredigeraren (skriptsida)

Använd sidan Skript i dialogrutan Skriptuppgiftsredigerare för att ange skriptegenskaper och ange variabler som kan nås av skriptet.

Anmärkning

I SQL Server 2008 Integration Services (SSIS) och senare versioner är alla skript förkompilerade. I tidigare versioner anger du en PrecompileScriptIntoBinaryCode-egenskap för att ange att skriptet var förkompilerat.

Mer information om skriptaktiviteten finns i Skriptuppgift och Konfigurera skriptaktivitet i skriptuppgiftsredigeraren. Mer information om hur du programmerar skriptaktiviteten finns i Utöka paketet med skriptuppgiften.

Alternativ

ScriptLanguage
Välj skriptspråket för uppgiften, antingen Microsoft Visual Basic eller Microsoft Visual C#.

När du har skapat ett skript för uppgiften kan du inte ändra värdet för egenskapen ScriptLanguage .

Om du vill ange standardskriptspråket för skriptaktiviteten använder du alternativet Skriptspråk på sidan Allmänt i dialogrutan Alternativ . .

EntryPoint
Ange den metod som Integration Services-körningen anropar som startpunkt i koden för skriptaktiviteten. Den angivna metoden måste finnas i klassen ScriptMain för projektet Microsoft Visual Studio Tools for Applications (VSTA) Klassen ScriptMain är standardklassen som genereras av skriptmallarna.

Om du ändrar namnet på metoden i VSTA-projektet måste du ändra värdet för egenskapen EntryPoint .

ReadOnlyVariables
Skriv en kommaavgränsad lista med skrivskyddade variabler som är tillgängliga för skriptet, eller klicka på ellipsknappen (...) och välj variablerna i dialogrutan Välj variabler .

Anmärkning

Variabelnamn är skiftlägeskänsliga.

ReadWriteVariables
Skriv en kommaavgränsad lista med läs-/skrivvariabler som är tillgängliga för skriptet, eller klicka på ellipsknappen (...) och välj variablerna i dialogrutan Välj variabler .

Anmärkning

Variabelnamn är skiftlägeskänsliga.

Redigera skript
Öppnar VSTA IDE där du kan skapa eller ändra skriptet.