LogProvider.SetExpression(String, String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Atribui a expressão especificada à propriedade. Especifique nulo para remover uma expressão existente da propriedade.
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
O nome da propriedade à qual atribuir a expressão.
- expression
- String
A expressão.
Implementações
Exemplos
O exemplo a seguir define a propriedade Description do provedor de log como o texto: "Este é o log para..." com o mês e o dia atuais acrescentados ao final da cadeia de caracteres.
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
Saída de exemplo:
Descrição atual: grava entradas de log para eventos em um arquivo CSV
Validação aprovada: Êxito
A expressão para Description é "Este é o log de 06 de janeiro"
A descrição agora é: este é o log de 06 de janeiro
Comentários
O propertyName
será ConfigString, Descrição ou Nome. Para o provedor de logs, essas são atualmente as únicas três propriedades que podem usar uma expressão.