次の方法で共有


LogProvider.SetExpression Method

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

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

構文

'宣言
Public Sub SetExpression ( _
    propertyName As String, _
    expression As String _
)
public void SetExpression (
    string propertyName,
    string expression
)
public:
virtual void SetExpression (
    String^ propertyName, 
    String^ expression
) sealed
public final void SetExpression (
    String propertyName, 
    String expression
)
public final function SetExpression (
    propertyName : String, 
    expression : String
)

パラメータ

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

解説

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

サンプルの出力 :

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

スレッド セーフ

この型の public static (Microsoft Visual Basic では共有 ) メンバは、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。

プラットフォーム

開発プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

対象プラットフォーム

サポートされているプラットフォームの一覧については、「SQL Server 2005 のインストールに必要なハードウェアおよびソフトウェア」を参照してください。

参照

関連項目

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