2013-03-14 2 views
0

У меня есть некоторые переменные (на уровне пакета, на уровне потока данных, не имеет значения), и мне нужно загрузить их, запустив Execute Sql Task. Я добавил Execute Sql Task, я написал свое заявление sql в поданной SqlStatement, я изменил ForcedExecutionValueType на string. Теперь я хочу, чтобы при выполнении Execute Sql Task возвращаемое значение, которое возвращает этот элемент, будет точным значением для моей переменной.Как загрузить переменную из «Execute Sql Task» в пакете SSIS

example: 

Select employer_name from employers where id=1 
Returs="John Doe" 

value for @employer_name must be "John Doe" 

Какие-либо намеки?

+1

Я нашел лучшее объяснение Аллана Митчелла. Попробуйте его [ссылка] (http://www.sqlis.com/sqlis/post/The-Execute-SQL-Task.aspx--------------------- -------------------------------------------------- ---------) – BogdanM

ответ

2

Вашему подробному обсуждению проблемы немного сложно следовать, поэтому я задумываюсь, если мои следующие шаги охватывают предметы, с которыми вы уже знакомы.

Шаги:

  1. На вкладке Flow Control, перетаскивать над Execute SQL Task и откройте его.
  2. Выберите General слева.
  3. Определите соединение (на основе источника базы данных, созданного в Менеджерах соединений ниже).
  4. Определите SQL-заявление.
  5. Для набора результатов выберите Единую строку.
  6. Выберите результат, расположенный слева.
  7. Выберите кнопку «Добавить» и обратите внимание, что новая запись была добавлена ​​выше.
  8. Под заголовком столбца имени результата для новой записи измените значение «NewResultname» на «0».
  9. Под заголовком столбца переменной имени для новой записи выберите существующую пользовательскую переменную, которую вы уже создали, или прокрутите вверх и создайте новую.
  10. Выберите ОК, и все готово.

Запуск выполнения SQL-задачи сам по себе теперь заполнит эту переменную. Убедитесь, что вы подтвердили, что SQL вернет только одно значение и не более. В противном случае вам нужно будет изменить ваш SQL с помощью «TOP 1», чтобы он был в безопасности. Когда ожидается несколько значений, вы должны применить переменную, определенную с типом данных «Объект», и использовать «Полный набор результатов» вместо «Единая строка» в Задаче выполнения Execute SQL.

Надеюсь, это поможет.

+0

Тнак вам так много, это помогло. – BogdanM

Смежные вопросы