Share via


LogProvider.GetExpression(String) Metodo

Definizione

Restituisce un valore String che contiene l'espressione per la proprietà specificata. Null significa che non viene assegnata alcuna espressione.

public:
 virtual System::String ^ GetExpression(System::String ^ propertyName);
public string GetExpression (string propertyName);
abstract member GetExpression : string -> string
override this.GetExpression : string -> string
Public Function GetExpression (propertyName As String) As String

Parametri

propertyName
String

Nome della proprietà di cui si desidera visualizzare l'espressione.

Restituisce

Stringa che contiene l'espressione usata per valutare la proprietà.

Implementazioni

Esempio

Nell'esempio seguente viene impostata la proprietà Description del provider di log come testo "This is the log for..." con il mese corrente e il giorno accodati alla fine della stringa. Convalida quindi il pacchetto, che risolve l'espressione e salva il valore nella proprietà specificata in propertyName. L'espressione verrà impostata anche sulle espressioni della proprietà quando il pacchetto viene salvato.

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 voci di log per gli eventi in un file CSV

Convalida passata: Esito positivo

L'espressione per Description è "Questo è il log per il 06 gennaio"

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

Commenti

L'oggetto propertyName sarà ConfigString, Description o Name. Per il provider di log, questi sono attualmente gli unici tre proprietà che possono usare un'espressione.

Si applica a