次の方法で共有


DtsProperty.SetExpression Method

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

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

構文

'宣言
Public Sub SetExpression ( _
    o As Object, _
    expression As String _
)
public void SetExpression (
    Object o,
    string expression
)
public:
void SetExpression (
    Object^ o, 
    String^ expression
)
public void SetExpression (
    Object o, 
    String expression
)
public function SetExpression (
    o : Object, 
    expression : String
)

パラメータ

  • o
    式を割り当てるオブジェクトの名前です。
  • expression
    式です。

解説

すべてのコンテナといくつかの追加オブジェクトは、GetExpression メソッドおよび SetExpression メソッドを提供するインターフェイスである IDTSPropertiesProvider から継承されます。

使用例

ConnectionManager は、IDTSPropertiesProvider から継承される 1 つのクラスであり、SetExpression メソッドを実装します。次のコード例では、SetExpression メソッドの使用方法を示します。この式は、接続マネージャに固有のプロパティの値を設定します。接続マネージャに固有のプロパティは、Properties コレクションに含まれます。

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.SqlServer.Dts.Runtime;

namespace ConnMgr_Properties_Collection
{
    class Program
    {
        static void Main(string[] args)
        {
            // The package is one of the SSIS Samples.
            string mySample = @"C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx";

            // Create an application and load the sample.
            Application app = new Application();
            Package pkg = app.LoadPackage(mySample, null);
            Connections myConns = pkg.Connections;

            // Get the Properties collection from the connection manager.
            ConnectionManager myConnMgr = myConns[0];
            DtsProperties connProperties = myConnMgr.Properties;

            // View information about the RetainSameConnection property
            // before setting it using the SetExpression method.
            Boolean hasProperty = connProperties.Contains("RetainSameConnection");
            Console.WriteLine("has RetainSameConnection? {0}", hasProperty);
            Object myValue = myConnMgr.Properties["RetainSameConnection"].GetValue(myConnMgr);
            String mySValue = myValue.ToString();
            Console.WriteLine("value before is {0}", mySValue);String myTrueString = "true";

            // Use SetExpression to set the value to true.
            myConnMgr.Properties["RetainSameConnection"].SetExpression(myConnMgr, myTrueString);
            
            // Validate the package to set the expression onto the property.
            DTSExecResult valResult = pkg.Validate(myConns, null, null, null);
            
            // Now that the value has been set, retrieve it.
            myValue = myConnMgr.Properties["RetainSameConnection"].GetValue(myConnMgr);
            mySValue = myValue.ToString();
            Console.WriteLine("value after is {0}", mySValue); 
        }
    }
}
Imports Microsoft.SqlServer.Dts.Runtime
 
Namespace ConnMgr_Properties_Collection
    Class Program
        Shared  Sub Main(ByVal args() As String)
        ' The package is one of the SSIS Samples.
        Dim mySample As String = "C:\Program Files\Microsoft SQL Server\90\Samples\Integration Services\Package Samples\CalculatedColumns Sample\CalculatedColumns\CalculatedColumns.dtsx"
        
        ' Create an application and load the sample.
        Dim app As New Application()
        Dim pkg As Package = app.LoadPackage(mySample, Nothing)
        Dim myConns As Connections = pkg.Connections
        
        ' Get the Properties collection from the connection manager.
        Dim myConnMgr As ConnectionManager = myConns(0)
        Dim connProperties As DtsProperties = myConnMgr.Properties
        
        ' View information about the RetainSameConnection property
        ' before setting it using the SetExpression method.
        Dim hasProperty As [Boolean] = connProperties.Contains("RetainSameConnection")
        Console.WriteLine("has RetainSameConnection? {0}", hasProperty)
        Dim myValue As [Object] = myConnMgr.Properties("RetainSameConnection").GetValue(myConnMgr)
        Dim mySValue As String = myValue.ToString()
        Console.WriteLine("value before is {0}", mySValue)
        Dim myTrueString As String = "true"
        
        ' Use SetExpression to set the value to true.
        myConnMgr.Properties("RetainSameConnection").SetExpression(myConnMgr, myTrueString)
        
        ' Validate the package to set the expression onto the property.
        Dim valResult As DTSExecResult = pkg.Validate(myConns, Nothing, Nothing, Nothing)
        
        ' Now that the value has been set, retrieve it.
        myValue = myConnMgr.Properties("RetainSameConnection").GetValue(myConnMgr)
        mySValue = myValue.ToString()
        Console.WriteLine("value after is {0}", mySValue)
        End Sub
    End Class
End Namespace

サンプルの出力 :

has RetainSameConnection?True

value before is False

value after is True

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

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

対象プラットフォーム

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

参照

関連項目

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