次の方法で共有


ForEachSMOEnumerator.EnumURN Property

選択された列挙に対する SMO 列挙の URN (Uniform Resource Name) を表す String を取得します。値の設定も可能です。

名前空間: Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO
アセンブリ: Microsoft.SqlServer.ForEachSMOEnumerator (microsoft.sqlserver.foreachsmoenumerator.dll 内)

構文

'宣言
Public Property EnumURN As String
public string EnumURN { get; set; }
public:
virtual property String^ EnumURN {
    String^ get () sealed;
    void set (String^ value) sealed;
}
/** @property */
public final String get_EnumURN ()

/** @property */
public final void set_EnumURN (String value)
public final function get EnumURN () : String

public final function set EnumURN (value : String)

プロパティ値

列挙子の構成パラメータを含む String です。

解説

SMO 列挙 URN は、4 つの部分から成ります。最初の部分は文字列であり、RuntimeServer. の後に接続が続きます。次のコード例は、接続が指定された EnumURN プロパティの例です。

RuntimeServer[@Connection='{B1552E8D-43AE-44B1-B5D3-03C4F5461977}']/Server[@Name='localhost']/SMOEnumObj[@Name='Databases']/SMOEnumType[@Name='Names']

文字列の 2 番目の部分は、サーバー名パラメータです。

文字列の最後の 2 つの部分は、SMOEnumObj パラメータと SMOEnumType パラメータです。4 つの部分から成る文字列の 3 番目にある SMOEnumObj パラメータは、列挙対象の列挙オブジェクトを表します。以下の値が有効です。

@"LinkedServers"

@"Jobs"

@"Logins"

@"Databases"

@"FileGroups"

@"DataFiles"

@"LogFiles"

@"StoredProcedures"

@"UserDefinedDataTypes"

@"UserDefinedFunctions"

@"Views"

@"Users"

@"Tables"

@"Columns"

@"ForeignKeys"

@"Triggers"

上記のコード例は、データベースの列挙を表します。

構成文字列の最後となる 4 番目の部分は SMOEnumType パラメータで、使用する列挙型を指定します。以下の値が有効です。

@"Objects"

@"ObjectsPP"

@"Names"

@"URNs"

@"Locations"

上記のコード例では、名前を使用して列挙しています。

使用例

ForEachSMOEnumerator オブジェクトは、ForEachEnumeratorHost によって作成されホストされます。次のコード例は、ホスト オブジェクト内で ForEachSMOEnumerator を作成する方法を示します。

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


namespace Microsoft.SqlServer.SSIS.Samples
{
    internal class EnumType
    {
        public const string SMOEnum = "Foreach SMO Enumerator";
    }
    class Program
    {
        static void Main(string[] args)
        {
            Application app = new Application();
            ForEachEnumeratorInfos infos = app.ForEachEnumeratorInfos;
            ForEachEnumeratorInfo info = null;

            foreach (ForEachEnumeratorInfo enumInfo in infos)
            {
            Console.Write("Available enumerators: {0}\n", enumInfo.Name);
            // When the SMO enumerator is found, set the info variable.
            if (enumInfo.Name == EnumType.SMOEnum)
            {  
                info = enumInfo;
            }
        }

        ForEachEnumeratorHost enumH = info.CreateNew();
        Console.WriteLine("SMO Enumerator: " + enumH.InnerObject.ToString());
        ForEachSMOEnumerator smoEnumerator = (ForEachSMOEnumerator)enumH.InnerObject;
        smoEnumerator.EnumURN = "RuntimeServer[@Variable='MachineName']/Server[@Name='localhost']/" +
            "SMOEnumObj[@Name='Databases']/SMOEnumType[@Name='Names']";
    Console.WriteLine("SMO.EnumURN = {0}", smoEnumerator.EnumURN);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO
Imports Microsoft.SqlServer.Dts.Runtime

Namespace Microsoft.SqlServer.SSIS.Samples
    Friend Class EnumType
        Public const String SMOEnum = "Foreach SMO Enumerator"
    End Class
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim app As Application =  New Application() 
            Dim infos As ForEachEnumeratorInfos =  app.ForEachEnumeratorInfos 
            Dim info As ForEachEnumeratorInfo =  Nothing 

            Dim EnumInfo As ForEachEnumeratorInfo 
            Dim enumInfo As ForEachEnumeratorInfo
            End Enum
            For Each EnumInfo In infos 
            For Each EnumInfo In infos Console.Write("Available enumerators: {0}\n" EnumInfo.Name) End Enum 
            For Each enumInfo In infos
            Console.Write("Available enumerators: {0}\n" enumInfo.Name)
            End Enum
            End Enum
            ' When the SMO enumerator is found, set the info variable.
            If EnumInfo.Name = EnumType.SMOEnum Then 
            Dim EnumInfo.Name As If =  EnumType.SMOEnum Then info  =  EnumInfo  End Enum
            If enumInfo.Name = EnumType.SMOEnum Then
                info = enumInfo
            End Enum
            End Enum
            End If
            Next

        Dim EnumH As ForEachEnumeratorHost =  info.CreateNew() 
        Dim enumH As ForEachEnumeratorHost =  info.CreateNew() 
        End Enum
        Console.WriteLine("SMO Enumerator: " + EnumH.InnerObject.ToString()) 
        Console.WriteLine("SMO Enumerator: " + enumH.InnerObject.ToString())
        End Enum
        Dim smoEnumerator As ForEachSMOEnumerator = CType(EnumH.InnerObject, ForEachSMOEnumerator)
        Dim smoEnumerator As ForEachSMOEnumerator = CType(enumH.InnerObject, ForEachSMOEnumerator)
        End Enum
        smoEnumerator.EnumURN = "RuntimeServer[@Variable='MachineName']/Server[@Name='localhost']/" +
            "SMOEnumObj[@Name='Databases']/SMOEnumType[@Name='Names']"
        Console.WriteLine("SMO.EnumURN = {0}", smoEnumerator.EnumURN)
        End Sub
    End Class
End Namespace

サンプルの出力 :

Available enumerators: Foreach File Enumerator

Available enumerators: Foreach Item Enumerator

Available enumerators: Foreach ADO Enumerator

Available enumerators: Foreach ADO.NET Schema Rowset Enumerator

Available enumerators: Foreach From Variable Enumerator

Available enumerators: Foreach NodeList Enumerator

Available enumerators: Foreach SMO Enumerator

SMO Enumerator: Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO.ForEachSMOEnumerator

SMO.EnumURN = RuntimeServer[@Variable='MachineName']/Server[@Name='localhost']/SMOEnumObj[@Name='Databases']/SMOEnumType[@Name='Names']

スレッド セーフ

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

プラットフォーム

開発プラットフォーム

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

対象プラットフォーム

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

参照

関連項目

ForEachSMOEnumerator Class
ForEachSMOEnumerator Members
Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO Namespace