Configurations.InsertBefore Method (Object, Configuration)

 

Applies To: SQL Server 2016 Preview

Adds a Configuration object into the collection before an existing Configuration object.

Namespace:   Microsoft.SqlServer.Dts.Runtime
Assembly:  Microsoft.SqlServer.ManagedDTS (in Microsoft.SqlServer.ManagedDTS.dll)

Syntax

public void InsertBefore(
    object index,
    Configuration config
)
public:
void InsertBefore(
    Object^ index,
    Configuration^ config
)
member InsertBefore : 
        index:Object *
        config:Configuration -> unit
Public Sub InsertBefore (
    index As Object,
    config As Configuration
)

Parameters

Remarks

Inserts the Configuration object into the collection. The new position is before the object specified by the index parameter.

Examples

Legacy Code Example

The following code example creates three configurations, and adds them to one package. It then displays their name, and the names are displayed in the order in which they were added. Using the InsertBefore, the first configuration in position 2 is inserted before the configuration located in index position 1. The names are again displayed, and Conf3 is shown as copied after Conf1 in the collection.

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

namespace Configurations_API
{
    class Program
    {
        static void Main(string[] args)
        {
            Package p = new Package();
            
            Configuration conf1 = p.Configurations.Add();
            conf1.ConfigurationString = "Conf1 Configuration String";
            conf1.ConfigurationType = DTSConfigurationType.EnvVariable;
            conf1.Description = "Some description for Conf1 configuration";
            conf1.Name = "Conf1";
            conf1.PackagePath = "A Variable Name in configuration Conf1";

            Configuration conf2 = p.Configurations.Add();
            conf2.ConfigurationString = "Conf2 Configuration String";
            conf2.ConfigurationType = DTSConfigurationType.ConfigFile;
            conf2.Description = "Some description for Conf2 configuration";
            conf2.Name = "Conf2";
            conf2.PackagePath = "A Variable Name in configuration Conf2";

            Configuration conf3 = p.Configurations.Add();
            conf3.ConfigurationString = "Conf3 Configuration String2";
            conf3.ConfigurationType = DTSConfigurationType.RegEntry;
            conf3.Description = "Conf3 description for Conf3 configuration2";
            conf3.Name = "Conf3";
            conf3.PackagePath = "A Variable Name in configuration Conf3";

            DTSExecResult pkgExecResults = p.Execute();

            if (pkgExecResults == DTSExecResult.Success)
            {
                Console.WriteLine("Success!");
                // Iterate over the configurations.
                Configurations configs = p.Configurations;
                foreach (Configuration config in configs)
                {
                    // This is an ordered collection, they display in the order added.
                    Console.WriteLine("Configuration Name {0}", config.Name);
                }
                Console.WriteLine("---------------------------------------------------");

                // Using the Configurations methods, move the configurations around.
                Configuration movingConfig = p.Configurations[2];
                p.Configurations.InsertBefore(1, movingConfig);
                foreach (Configuration config in configs)
                {
                    Console.WriteLine("Configuration Name {0}", config.Name);
                }
                Console.WriteLine("---------------------------------------------------");
            }
            else
            {
                Console.WriteLine("Results were {0}", pkgExecResults);
            }
            Console.WriteLine("Number of configuration in package {0}", p.Configurations.Count);
        }
    }
}
Imports System
Imports System.Collections.Generic
Imports System.Text
Imports Microsoft.SqlServer.Dts.Runtime
 
Namespace Configurations_API
    Class Program
        Shared  Sub Main(ByVal args() As String)
            Dim p As Package =  New Package() 
 
            Dim conf1 As Configuration =  p.Configurations.Add() 
            conf1.ConfigurationString = "Conf1 Configuration String"
            conf1.ConfigurationType = DTSConfigurationType.EnvVariable
            conf1.Description = "Some description for Conf1 configuration"
            conf1.Name = "Conf1"
            conf1.PackagePath = "A Variable Name in configuration Conf1"
 
            Dim conf2 As Configuration =  p.Configurations.Add() 
            conf2.ConfigurationString = "Conf2 Configuration String"
            conf2.ConfigurationType = DTSConfigurationType.ConfigFile
            conf2.Description = "Some description for Conf2 configuration"
            conf2.Name = "Conf2"
            conf2.PackagePath = "A Variable Name in configuration Conf2"
 
            Dim conf3 As Configuration =  p.Configurations.Add() 
            conf3.ConfigurationString = "Conf3 Configuration String2"
            conf3.ConfigurationType = DTSConfigurationType.RegEnTry
            conf3.Description = "Conf3 description for Conf3 configuration2"
            conf3.Name = "Conf3"
            conf3.PackagePath = "A Variable Name in configuration Conf3"
 
            Dim pkgExecResults As DTSExecResult =  p.Execute() 
 
            If pkgExecResults = DTSExecResult.Success Then
                Console.WriteLine("Success!")
                ' Iterate over the configurations.
                Dim configs As Configurations =  p.Configurations 
                Dim config As Configuration
                For Each config In configs
                    ' This is an ordered collection, they display in the order added.
                    Console.WriteLine("Configuration Name {0}", config.Name)
                Next
                Console.WriteLine("---------------------------------------------------")
 
                ' Using the Configurations methods, move the configurations around.
                Dim movingConfig As Configuration =  p.Configurations(2) 
                p.Configurations.InsertBefore(1, movingConfig)
                Dim config As Configuration
                For Each config In configs
                    Console.WriteLine("Configuration Name {0}", config.Name)
                Next
                Console.WriteLine("---------------------------------------------------")
            Else 
                Console.WriteLine("Results were {0}", pkgExecResults)
            End If
            Console.WriteLine("Number of configuration in package {0}", p.Configurations.Count)
        End Sub
    End Class
End Namespace

Sample Output:

Success!

Configuration Name Conf1

Configuration Name Conf2

Configuration Name Conf3

---------------------------------------------------

Configuration Name Conf1

Configuration Name Conf3

Configuration Name Conf2

Configuration Name Conf3

---------------------------------------------------

Number of configuration in package 4

See Also

Configurations Class
Microsoft.SqlServer.Dts.Runtime Namespace

Return to top