次の方法で共有


GetExpression メソッド

指定したプロパティの式を表す String を返します。Null は、式が割り当てられていないことを示します。

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

構文

'宣言
Public Function GetExpression ( _
    propertyName As String _
) As String
'使用
Dim instance As LogProvider
Dim propertyName As String
Dim returnValue As String

returnValue = instance.GetExpression(propertyName)
public string GetExpression(
    string propertyName
)
public:
virtual String^ GetExpression(
    String^ propertyName
) sealed
abstract GetExpression : 
        propertyName:string -> string 
override GetExpression : 
        propertyName:string -> string 
public final function GetExpression(
    propertyName : String
) : String

パラメーター

戻り値

型: System. . :: . .String
プロパティの評価に使用される式を表す String です。

実装

IDTSPropertiesProvider. . :: . .GetExpression(String)

説明

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

使用例

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

サンプルの出力 :

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