다음을 통해 공유


LogProvider.GetExpression Method

Returns a String that contains the expression for the specified property. Null means no expression is assigned.

네임스페이스: Microsoft.SqlServer.Dts.Runtime
어셈블리: Microsoft.SqlServer.ManagedDTS (in microsoft.sqlserver.manageddts.dll)

구문

‘선언
Public Function GetExpression ( _
    propertyName As String _
) As String
public string GetExpression (
    string propertyName
)
public:
virtual String^ GetExpression (
    String^ propertyName
) sealed
public final String GetExpression (
    String propertyName
)
public final function GetExpression (
    propertyName : String
) : String

매개 변수

  • propertyName
    The name of the property whose expression you want to see.

반환 값

A String that contains the expression used to evaluate the property.

주의

The propertyName will be ConfigString, Description, or Name. For the log provider, those are currently the only three properties that can use an expression.

The following example sets the Description property of the log provider to be the text, "This is the log for…" with the current month and day appended to the end of the string. It then validates the package, which resolves the expression and saves the value to the property specified in propertyName. The expression will also be set on the expressions on the property when the package is saved.

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\90\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\90\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

Sample output:

Current description: Writes log entries for events to a CSV file

Validation passed: Success

The expression for Description is "This is the log for January 06"

The description is now: This is the log for January 06

스레드 보안

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

플랫폼

개발 플랫폼

지원되는 플랫폼 목록은 SQL Server 2005 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

대상 플랫폼

지원되는 플랫폼 목록은 SQL Server 2005 설치를 위한 하드웨어 및 소프트웨어 요구 사항을 참조하십시오.

참고 항목

참조

LogProvider Class
LogProvider Members
Microsoft.SqlServer.Dts.Runtime Namespace