Share via


IDTSForEachSMOEnumerator.EnumURN Property

Gets or sets a String that contains the SQL Server Management Object (SMO) enumeration Uniform Resource Name (URN) for the selected enumeration.

Namespace:  Microsoft.SqlServer.Dts.Runtime.Enumerators.SMO
Assembly:  Microsoft.SqlServer.ForEachSMOEnumerator (in Microsoft.SqlServer.ForEachSMOEnumerator.dll)

Syntax

'Declaration
Property EnumURN As String
    Get
    Set
'Usage
Dim instance As IDTSForEachSMOEnumerator
Dim value As String

value = instance.EnumURN

instance.EnumURN = value
string EnumURN { get; set; }
property String^ EnumURN {
    String^ get ();
    void set (String^ value);
}
abstract EnumURN : string with get, set
function get EnumURN () : String
function set EnumURN (value : String)

Property Value

Type: System.String
A String that contains the enumerator's configuration parameters.

Remarks

The SMO enumeration URN contains four parts. First is the string, RuntimeServer" followed by a connection. The following line of code shows an EnumURN property where a connection has been specified.

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

The second part of the string is the server name parameter.

The last two parts are the SMOEnumObj and SMOEnumType parameters. The third part, the SMOEnumObj parameter, names the enumeration object that is enumerated. Valid values are:

@"LinkedServers"

@"Jobs"

@"Logins"

@"Databases"

@"FileGroups"

@"DataFiles"

@"LogFiles"

@"StoredProcedures"

@"UserDefinedDataTypes"

@"UserDefinedFunctions"

@"Views"

@"Users"

@"Tables"

@"Columns"

@"ForeignKeys"

@"Triggers

The code sample above shows an enumeration over databases.

The fourth part, the SMOEnumType parameter, specifies which enumeration type should be used. Valid values are:

@"Objects"

@"ObjectsPP"

@"Names"

@"URNs"

@"Locations"

The code sample above shows an enumeration using names.

Examples

The following code example shows the construction of an EnumURN property.

Package package = new Package();
ForEachLoop loop = (ForEachLoop)package.Executables.Add("STOCK:FOREACHLOOP");
loop.Name = "ForEachLoop";

// Create Enumerator Info.
ForEachEnumeratorInfos infos = app.ForEachEnumeratorInfos;
ForEachEnumeratorInfo info = infos[EnumType.SMOEnum];
if (info == null)
    throw new ApplicationException("Could not find ForEachEnum for: 
        "+EnumType.SMOEnum);

// Create Enumerator.
ForEachEnumeratorHost enumW = info.CreateNew();
if (enumW == null)
    throw new ApplicationException("null enumerator was created");

ForEachSMOEnumerator smoEnumerator = (ForEachSMOEnumerator)enumW.InnerObject;
enumerator.EnumURN = RuntimeServer[@Connection='{B1552E8D-43AE-44B1-B5D3-03C4F5461977}']/Server[@Name='localhost']/SMOEnumObj[@Name='Databases']/SMOEnumType[@Name='Names']
. . . 
// more code here...
. . .