Судя по названию вашего вопроса, вы пытаетесь заполнить список C # из переменной объекта SSIS.Если это правильно, это можно сделать следующим образом.Либо вы можете заполнить объект DataTable
содержимым переменной объекта SSIS, либо, если вы хотите использовать конкретный список, список можно заполнить из DataTable
, и после этого вы сможете работать со списком.В приведенном ниже примере OleDBDataAdapter
используется для заполнения объекта DataTable
из переменной объекта SSIS с использованием метода Fill
.Данные, заполненные из переменной объекта, могут быть доступны через DataRow
объекты в DataTable
.Поскольку, похоже, переменная объекта SSIS содержит только один столбец, к нему можно получить доступ из индекса 0 столбца каждого DataRow
, dr[0]
ниже.Скорее всего, вы уже сделали это, но убедитесь, что переменная объекта SSIS находится в поле ReadOnlyVariables
Задачи сценария.
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
List<string> serverNamesList = new List<string>();
OleDbDataAdapter dtAdapter = new OleDbDataAdapter();
DataTable serverNamesDataTable = new DataTable();
//populate data table
dtAdapter.Fill(serverNamesDataTable, Dts.Variables["User::ObjectVariable"].Value);
foreach (DataRow dr in serverNamesDataTable.Rows)
{
//either access server names from column index 0 of DataRow or add to list
serverNamesList.Add(dr[0].ToString());
}