Академия Специальных Курсов по Компьютерным Технологиям
    Главная страница Послать письмо
 
AskIt.ru  
   
   
   
   
   
   
 
 
  Главная / Заказные курсы / Microsoft SQL Server 2005 для администраторов
 
 

Получить учебные материалы по этому курсу


<-- Назад Читать дальше -->

10.9. Execute SQL Task

Execute SQL Task в SSIS SQL Server 2005, передача параметров при выполнении команды SQL

Execute SQL Task — это простая и очень удобная во многих ситуациях задача SSIS. Ее основное назначение заключается в выполнении команды SQL или хранимой процедуры на сервере баз данных (с возможной передачей параметров). Эта задача может использоваться для выполнения команд SQL как на SQL Server, так и на других источниках данных (например, Oracle, Access и т. п.). Единственное ограничение — источник данных должен поддерживать интерфейс ICommand, т. е. уметь работать с командами SQL. Поэтому, например, использовать эту задачу для обращения к текстовым файлам не получится.

Чаще всего эта задача используется в следующих ситуациях:

q      для создания или удаления объектов на SQL Server;

q      для очистки промежуточных таблиц, используемых при закачке данных для выполнения преобразований с ними;

q      для запуска хранимых процедур;

q      для выполнения параметризованных запросов (в качестве параметра можно использовать глобальные переменные, а их, в свою очередь, можно назначить при запуске пакета из командной строки или на графическом экране);

q      для сохранения результатов выполнения запросов в глобальной переменной (одно значение или табличный набор записей).

Настройка этой задачи начинается с выбора подключения к источнику данных (свойства Connection Type (Тип подключения) и Connection (Соединение) на вкладке General (Общие)). Затем вы должны выбрать источник, из которого будет браться текст запроса. Для этого предназначено свойство SQLSourceType (Тип источника SQL) на той же вкладке. В вашем распоряжении есть три варианта:

q      Direct Input (Прямой ввод) — текст запроса вводится напрямую при помощи свойства SQLStatement (Выражение SQL) (или генерируется при помощи кнопки Build Query). В тех местах запроса, где должны подставляться параметры, устанавливаются знаки вопроса. Затем на вкладке Parameter Mapping (Привязка параметров) этим параметрам можно назначить переменные;

q      Variable (Переменная) — текст запроса будет определяться при помощи единственной строковой переменной (чаще всего значение этой переменной в ходе выполнения пакета конструируется при помощи строковых функций средствами задачи Script Task). Имя переменной определяется при помощи свойства SourceVariable (Переменная источника);

q      File connection (Подключение к файлу) — текст запроса будет поступать из текстового файла на диске. В этом случае вам потребуется создать менеджер подключения типа File Connection Manager.

Если вы хотите использовать в вашем пакете результаты выполнения запроса Execute SQL Task, то следующим действием нужно определить формат для этих результатов. В вашем распоряжении значения None (означает, что результаты выполнения запроса нас не интересуют, используется по умолчанию), Single row (единственная строка или единственное значение), Full result set (полный набор записей табличного вида) или XML. Если вы выбрали значение XML, то возвращаемые данные будут зависеть от типа переменной, в которую будут приниматься результаты. Если выбрана переменная типа String, то в нее будет помещен код XML. Если же результат принимается в переменную типа Object, то в нее будет помещен объект документа XML объектной модели DOM. Формат документа XML (или структура объекта) будут зависеть от запроса, который был выполнен на источнике данных.

Затем вы должны на вкладке Parameter Mapping назначить переменные входящим параметрам вашего запроса, а на вкладке Result Set (Набор результатов) определить переменные для значений, которые будет возвращать ваш запрос. Создать, изменить или удалить переменные уровня пакета можно при помощи меню SSIS | Variables в SSIS Designer.

 

   
   
   
   
   
   
   
   
   
   
 
<-- Назад Читать дальше -->

Получить учебные материалы по этому курсу


 
© 2004-2008, Академия Специальных Курсов
по Информационным Технологиям
.
Все права защищены.

Разработка NevaStudio
г. Санкт-Петербург, Васильевский остров,
20-я линия, д. 7
Офис 101, 2-й этаж
Телефон: 8(812)922-47-60
E-mail: info@askit.ru