次の方法で共有


LogProvider.SetExpression メソッド

指定した式をプロパティに割り当てます。 既存の式をプロパティから削除するには、nullNULL 参照 (Visual Basic では Nothing) を指定します。

名前空間:  Microsoft.SqlServer.Dts.Runtime
アセンブリ:  Microsoft.SqlServer.ManagedDTS (Microsoft.SqlServer.ManagedDTS.dll)

構文

'宣言
Public Sub SetExpression ( _
    propertyName As String, _
    expression As String _
)
'使用
Dim instance As LogProvider 
Dim propertyName As String 
Dim expression As String

instance.SetExpression(propertyName, _
    expression)
public void SetExpression(
    string propertyName,
    string expression
)
public:
virtual void SetExpression(
    String^ propertyName, 
    String^ expression
) sealed
abstract SetExpression : 
        propertyName:string * 
        expression:string -> unit  
override SetExpression : 
        propertyName:string * 
        expression:string -> unit
public final function SetExpression(
    propertyName : String, 
    expression : String
)

パラメーター

  • propertyName
    型: System.String
    式を割り当てるプロパティの名前です。

実装

IDTSPropertiesProvider.SetExpression(String, String)

説明

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

使用例

次の例では、ログ プロバイダーの 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

関連項目

参照

LogProvider クラス

Microsoft.SqlServer.Dts.Runtime 名前空間