Поделиться через


LogProvider.GetExpression(String) Метод

Определение

Возвращает строку, содержащую выражение для указанного свойства. Значение NULL означает, что выражение не назначено.

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

Параметры

propertyName
String

Имя свойства, выражение которого необходимо просмотреть.

Возвращаемое значение

Строка, содержащая выражение, используемое для вычисления свойства.

Реализации

Примеры

В следующем примере свойство Description поставщика журнала задается как текст "Это журнал для..." с текущим месяцем и днем, добавленными к концу строки. Затем он проверяет пакет, который разрешает выражение и сохраняет значение в свойстве, указанном в propertyName. Выражение также будет задано для выражений свойства при сохранении пакета.

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  

Пример выходных данных:

Текущее описание: записывает записи журнала для событий в CSV-файл

Проверка пройдена: успешно

Выражение для описания — "Это журнал за январь 06 года".

Описание теперь: это журнал за январь 06 г.

Комментарии

Будет propertyName использоваться ConfigString, Description или Name. В настоящее время для поставщика журналов это только три свойства, которые могут использовать выражение.

Применяется к