Condividi tramite


LogProvider.SetExpression(String, String) Metodo

Definizione

Assegna l'espressione specificata alla proprietà. Specificare null per rimuovere un'espressione esistente dalla proprietà .

public:
 virtual void SetExpression(System::String ^ propertyName, System::String ^ expression);
public void SetExpression (string propertyName, string expression);
abstract member SetExpression : string * string -> unit
override this.SetExpression : string * string -> unit
Public Sub SetExpression (propertyName As String, expression As String)

Parametri

propertyName
String

Nome della proprietà a cui assegnare l'espressione.

expression
String

Espressione.

Implementazioni

Esempio

Nell'esempio seguente la proprietà Description del provider di log deve essere il testo "This is the log for..." con il mese e il giorno correnti accodati alla fine della stringa.

using System;  
using System.Collections.Generic;  
using System.Text;  
using Microsoft.SqlServer.Dts.Runtime;  

namespace LogProvider_Expression_Tests  
{  
    class Program  
    {  
        static void Main(string[] args)  
        {  
            // The package is one of the SSIS Samples. The package was  
            // modified to log to the SSIS log provider for Text files  
            // and saved before loading into this code.  

            string mySample = @"C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx";  

            // Create the Application, and load the sample.  
            Application app = new Application();  
            Package pkg = app.LoadPackage(mySample, null);  

            // Get the LogProviders collection.  
            LogProviders logProvs = pkg.LogProviders;  

            // Get the "SSIS log provider for Text files"  
            // provider from the collection.  
            LogProvider textLogProv = logProvs["SSIS log provider for Text files"];  

            //Display the current description of this provider.  
            String currDescription = textLogProv.Description;  
            Console.WriteLine("Current description: {0}", currDescription);  

            // Set an expression. Only a few properties  
            // are available to have expressions. For Log Providers,   
            //current only the properties of ConfigString, Description,  
            // and Name take expressions.  
            DateTime dt = DateTime.Now;  
            String nowMonth = dt.ToString("m");  
            String newDesc = "\"This is the log for " + nowMonth + "\"";  
            textLogProv.SetExpression("Description", newDesc);  

            // Validate the package to set the expression  
            // onto the property.  
            Connections pkgConns = pkg.Connections;            
            DTSExecResult valResult = pkg.Validate(pkgConns, null, null, null);  
            if (valResult != DTSExecResult.Failure)  
            {  
                Console.WriteLine("Validation passed: {0}", valResult);  
            }  
            else  
                Console.WriteLine("Validation FAILED: {0}", valResult);  

            // Retrieve the log provider collections.  
            logProvs = pkg.LogProviders;  

            // Retreive the text log provider from the collection.  
            textLogProv = logProvs["SSIS log provider for Text files"];  

            // Check the expression, and verify that the name changed.  
            String logProvExpr = textLogProv.GetExpression("Description");  
            Console.WriteLine("The expression for Description is {0}", logProvExpr);  
            String newDescAfter = textLogProv.Description;  
            Console.WriteLine("The description is now: {0}", newDescAfter);  
        }  
    }  
}  
Imports System  
Imports System.Collections.Generic  
Imports System.Text  
Imports Microsoft.SqlServer.Dts.Runtime  

Namespace LogProvider_Expression_Tests  
    Class Program  
        Shared Sub Main(ByVal args() As String)  
            ' The package is one of the SSIS Samples. The package was  
            ' modified to log to the SSIS log provider for Text files  
            ' and saved before loading into this code.  
            Dim mySample As String = "C:\Program Files\Microsoft SQL Server\100\Samples\Integration Services\Package Samples\ExecuteProcess Sample\ExecuteProcess\UsingExecuteProcess.dtsx"  

            ' Create the Application, and load the sample.  
            Dim app As New Application()  
            Dim pkg As Package = app.LoadPackage(mySample, Nothing)  

            ' Get the LogProviders collection.  
            Dim logProvs As LogProviders = pkg.LogProviders  

            ' Get the "SSIS log provider for Text files"  
            ' provider from the collection.  
            Dim textLogProv As LogProvider = logProvs("SSIS log provider for Text files")  

            'Display the current description of this provider.  
            Dim currDescription As String = textLogProv.Description  
            Console.WriteLine("Current description: {0}", currDescription)  

            ' Set an expression. Only a few properties  
            ' are available to have expressions. For Log Providers,   
            'current only the properties of ConfigString, Description,  
            ' and Name take expressions.  
            Dim dt As DateTime = DateTime.Now  
            Dim nowMonth As String = dt.ToString("m")  
            Dim newDesc As String = """This is the log for " + nowMonth + """"  
            textLogProv.SetExpression("Description", newDesc)  

            ' Validate the package to set the expression  
            ' onto the property.  
            Dim pkgConns As Connections = pkg.Connections  
            Dim valResult As DTSExecResult = pkg.Validate(pkgConns, Nothing, Nothing, Nothing)  
            If valResult <> DTSExecResult.Failure Then  
                Console.WriteLine("Validation passed: {0}", valResult)  
            Else  
                Console.WriteLine("Validation FAILED: {0}", valResult)  
            End If  
            ' Retrieve the log provider collections.  
            logProvs = pkg.LogProviders  

            ' Retreive the text log provider from the collection.  
            textLogProv = logProvs("SSIS log provider for Text files")  

            ' Check the expression, and verify that the name changed.  
            Dim logProvExpr As String = textLogProv.GetExpression("Description")  
            Console.WriteLine("The expression for Description is {0}", logProvExpr)  
            Dim newDescAfter As String = textLogProv.Description  
            Console.WriteLine("The description is now: {0}", newDescAfter)  
        End Sub  
    End Class  
End Namespace  

Output di esempio:

Descrizione corrente: scrive le voci di log per gli eventi in un file CSV

Convalida superata: Operazione riuscita

L'espressione per Description è "This is the log for January 06"

La descrizione è ora: questo è il log per gennaio 06

Commenti

propertyName Sarà ConfigString, Description o Name. Per il provider di log, queste sono attualmente le uniche tre proprietà che possono usare un'espressione.

Si applica a