Compartir a través de


LogProvider.SetExpression(String, String) Método

Definición

Asigna la expresión especificada a la propiedad. Especifique null para quitar una expresión existente de la propiedad .

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)

Parámetros

propertyName
String

El nombre de la propiedad al que se asigna la expresión.

expression
String

Expresión.

Implementaciones

Ejemplos

En el ejemplo siguiente se establece la propiedad Description del proveedor de registro como texto: "Este es el registro para..." con el mes actual y el día anexados al final de la cadena.

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  

Salida de ejemplo:

Descripción actual: escribe entradas de registro para eventos en un archivo CSV.

Validación superada: Correcto

La expresión de Description es "Este es el registro del 06 de enero".

La descripción es ahora: este es el registro del 06 de enero

Comentarios

propertyName será ConfigString, Description o Name. En el caso del proveedor de registro, actualmente son las únicas tres propiedades que pueden usar una expresión.

Se aplica a