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

Место общения программистов 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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