EnumURN プロパティ
選択された列挙に対する SMO 列挙の URN (Uniform Resource Name) を表す String を取得します。値の設定も可能です。
名前空間: Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO
アセンブリ: Microsoft.SqlServer.ForEachSMOEnumerator (Microsoft.SqlServer.ForEachSMOEnumerator.dll)
構文
'宣言
Public Property EnumURN As String
Get
Set
'使用
Dim instance As ForEachSMOEnumerator
Dim value As String
value = instance.EnumURN
instance.EnumURN = value
public string EnumURN { get; set; }
public:
virtual property String^ EnumURN {
String^ get () sealed;
void set (String^ value) sealed;
}
abstract EnumURN : string with get, set
override EnumURN : string with get, set
final function get EnumURN () : String
final function set EnumURN (value : String)
プロパティ値
型: System. . :: . .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']