SSIS: как установить значение исходного скрипта в скрипте - PullRequest
1 голос
/ 10 сентября 2011

я зацикливаюсь на своих соединениях:

for (int x = 0; x < Dts.Connections.Count; x++)
{

    switch (Dts.Connections[x].Name.ToString())
    {
        case "m":

           for (int z = 0; z < Dts.Connections[x].Properties.Count; z++)
            {
                      if ( Dts.Connections[x].Properties[n].Name = "Initial Catalog"){
                Dts.Connections[x].Properties[n].SetValue(object o, object value);}
            }

            break;
    }                  
}

выше, насколько я получил, подпись setvalue (Object o, Object value)

Ответы [ 2 ]

0 голосов
/ 10 сентября 2011

Согласно документации SetValue(), первый параметр - это объект, для которого вы хотите установить свойство, а второй - значение свойства. Так и должно быть примерно так:

for (int i = 0; i < Dts.Connections.Count; i++)
{
    var connection = Dts.Connections[i];
    if (connection.Name == "m")
    {
        for (int j = 0; j < connection.Properties.Count; j++)
        {
            var property = connection.Properties[j];

            if (property.Name == "Initial Catalog")
                property.SetValue(connection, "some value");
        }
    }
}

Или с LINQ:

var connection = Dts.Connections.Cast<ConnectionManager>()
                                .First(cm => cm.Name == "m");
var property = connection.Properties.Cast<DtsProperty>()
                                    .Single(p => p.Name == "Initial Catalog");
property.SetValue(connection, "some value");

(Cast() необходимы, потому что коллекции, к сожалению, не являются общими.)

0 голосов
/ 10 сентября 2011

Попробуйте использовать следующее для настройки соединения DTS

ConnectionManager cn = Dts.Connections.Add("OLEDB");
cn.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...