SSIS - Строка поиска - Задача сценария

2

Я хотел бы знать, возможно ли ввести результат запроса в виде массива с помощью задачи сценария (С#)? Я нашел код, который использует задачу скрипта, но не присваивает каждому значению результата запроса переменную.

//Read list of Tables with Schema from Database
string query = "Select * From "+TableName;
SqlCommand cmd = new SqlCommand(query, myADONETConnection);
//myADONETConnection.Open();

DataTable d_table = new DataTable();
d_table.Load(cmd.ExecuteReader());
myADONETConnection.Close();



string FileFullPath = DestinationFolder +"\\"+ FileNamePart +"_" + datetime + FileExtension;

StreamWriter sw = null;
sw = new StreamWriter(FileFullPath, false);

// Write the Header Row to File
int ColumnCount = d_table.Columns.Count;

for (int ic = 0; ic < ColumnCount; ic++)
{
   sw.Write(d_table.Columns[ic]);
   if (ic < ColumnCount - 1)
   {
      sw.Write(FileDelimiter);
   }
}
sw.Write(sw.NewLine);

// Write All Rows to the File
foreach (DataRow dr in d_table.Rows)
{
   for (int ir = 0; ir < ColumnCount; ir++)
   {
       if (!Convert.IsDBNull(dr[ir]))
       {
           sw.Write(dr[ir].ToString());
       }
       if (ir < ColumnCount - 1)
       {
           sw.Write(FileDelimiter);
       }
    }
       sw.Write(sw.NewLine);
 }

Благодарю.

  • 0
    Что вы подразумеваете под массивом? У вас есть TableName, но что это такое и откуда оно? Это не имя переменной / значение. Будет ли это быть динамичным / изменить. Какой конечный результат вы ищете? Чтобы вывести всю структуру таблицы в файл?
  • 0
    По сути, я сделаю запрос, который возвращает несколько столбцов и строк, и я бы хотел назначить все данные в переменную, например контейнер цикла Foreach. Этот код является примером.
Показать ещё 5 комментариев
Теги:
ssis

1 ответ

0

На основании следующего комментария:

По сути, я сделаю запрос, который возвращает несколько столбцов и строк, и я бы хотел назначить все данные в переменную, например контейнер цикла Foreach. Этот код является примером

Я предполагаю, что вы хотите сохранить результат запроса внутри таблицы и циклически перебирать результаты по строкам, а также присваивать значение столбцам внутри переменной. Затем следует использовать Execute SQL Task для выполнения запроса и сохранить ResultSet внутри переменной типа System.Object затем выполнить цикл по ResultSet (таблице результатов), используя ForEach Loop Container с ADO enumerator.

Чтобы получить пошаговое руководство, вы можете обратиться по одной из следующих ссылок:

Ещё вопросы

Сообщество Overcoder
Наверх
Меню