LogProvider.SetExpression(String, String) メソッド

定義

指定した式をプロパティに割り当てます。 プロパティから既存の式を削除するには、null を指定します。

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)

パラメーター

propertyName
String

式を割り当てるプロパティの名前です。

expression
String

式。

実装

次の例では、ログ プロバイダーの Description プロパティを、"This is the log for ..." という文字列の末尾に現在の月と日付を追加したテキストに設定します。

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  

出力例:

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

注釈

propertyName は、ConfigString、Description、または Name になります。 ログ プロバイダーの場合、現在、式を使用できるのは、これらの 3 つのプロパティのみです。

適用対象