Share via


ForEachSMOEnumerator.EnumURN プロパティ

定義

選択した列挙体の SMO 列挙の Uniform Resource Name (URN) を含む文字列を取得または設定します。

public:
 property System::String ^ EnumURN { System::String ^ get(); void set(System::String ^ value); };
public string EnumURN { get; set; }
member this.EnumURN : string with get, set
Public Property EnumURN As String

プロパティ値

列挙子の構成パラメーターを含む文字列。

実装

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']

注釈

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"

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

適用対象