Передача результатов запроса в переменную в SSIS ⇐ C#

Место общения программистов C#
Anonymous
Передача результатов запроса в переменную в SSIS

Сообщение Anonymous »

У меня есть пакет SSIS, который запускает задачу «Выполнение SQL», чтобы получить количество строк, сохраняет его в переменной, а затем с помощью задачи «Скрипт» считывает эту переменную и проверяет, больше ли она 0.
Проблема, с которой я столкнулся, заключается в том, что при отладке пакета он считывает переменную как -1 (что, как я предполагаю, является просто SQL, сообщающим, что запрос выполнен успешно), вместо 38 000 с лишним строки, которые находятся в БД.
Насколько я могу судить, все настроено правильно и правильно закодировано, поэтому я не уверен, что может быть причиной этого.

Настройки задачи «Выполнение SQL»:
Изображение
Изображение

Код из задачи сценария:
Изображение

Код: Выделить всё

private byte[] emptyBytes = new byte[0];

public void Main()
{
int rowCount = Convert.ToInt32(Dts.Variables["User::SMART_rowcount"].Value.ToString());

if (rowCount > 0)
{
Dts.TaskResult = (int)ScriptResults.Success;
}
else
{
Dts.Log("The SMART Row Count Check has failed due to result set having no rows. Check table SMART.[SMART_SEC_MGMT_QUOTE_DATA].", (int)Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure, emptyBytes);
Dts.TaskResult = (int)ScriptResults.Failure;
}
}
РЕДАКТИРОВАТЬ:

Вот поток этих переменных и переменных:< /p>

Изображение
Изображение


Подробнее здесь: https://stackoverflow.com/questions/470 ... le-in-ssis

Вернуться в «C#»