LogProvider.GetExpression(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve una cadena que contiene la expresión de la propiedad especificada. Null significa que no se asigna ninguna expresión.
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
Parámetros
- propertyName
- String
El nombre de la propiedad cuya expresión desea ver.
Devoluciones
Cadena que contiene la expresión usada para evaluar la propiedad .
Implementaciones
Ejemplos
En el ejemplo siguiente se establece la propiedad Description del proveedor de registro para que sea el texto "This is the log for..." con el mes actual y el día anexados al final de la cadena. A continuación, valida el paquete, que resuelve la expresión y guarda el valor en la propiedad especificada en propertyName
. La expresión también se establecerá en las expresiones de la propiedad cuando se guarde el paquete.
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 "This is the log for january 06" (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.