Главная Обратная связь

Дисциплины:






Задание для самостоятельной работы 10.1 Создание пакетов SSIS для переноса данных



Задание:

1. Создайте средствами Microsoft Access в корневом каталоге диска C: пустую базу данных Person.mdb.

2. Создайте пакет SSIS, который должен копировать все таблицы из схемы Person базы данных AdventureWorks на вашем сервере SQL Server 2008 со всеми данными в базу данных Person.mdb. Этот пакет должен называться C:\CopyPerson.dtsx. Зашифруйте весь пакет при помощи пароля P@ssw0rd. Убедитесь, что этот пакет работает.

3. Измените созданный вами пакет таким образом, чтобы при копировании информации в столбце Phone таблицы Person.Contact удалялись все дефисы, пробелы и скобки. Например, адрес вида "1 11 500 555-015" после преобразования должен выглядеть как "111500555015".

4. Создайте на диске C: файл CopyPerson.bat с командной строкой на запуск пакета CopyPerson.dtsx. Подробный протокол выполнения должен записываться в текстовый файл C:\CopyPerson.log. Еще раз удалите все таблицы из файла Person.mdb и убедитесь, что созданный вами пакетный файл работает в соответствии с заданием.

Решение:

К пункту 1 — создание пустой базы данных Microsoft Access:

1. Запустите Microsoft Access (меню Пуск à Программы àMicrosoft Office àMicrosoft Office Access) и в меню Файл выберите Создать.

2. В окне Создание файла щелкните по ссылке Новая база данных. В открывшемся окне Файл новой базы данных в поле Имя файла введите C:\Person.mdb. После этого закройте Microsoft Access.

К пункту 2 — создание пакета SSIS:

3. Выполните в командой строке команду DTSWizard. Откроется окно SQL Server Import and Export Wizard. На первом экране мастера нажмите на кнопку Next.

4. На экране Choose a Data Source в списке Data Source выберите SQL Native Client. В поле Server Name выберите сервер имя_вашего_сервера\SQL2008 и в списке Database выберите базу данных AdventureWorks. Нажмите на кнопку Next.

5. На экране Choose a Destination в списке Destination выберите Microsoft Access. Затем в списке File name введите или выберите C:\Person.mdb. Нажмите на кнопку Advanced, а затем — Test Connection, чтобы убедиться, что соединение установлено успешно. Нажмите на кнопку OK, а затем — Next.

6. На экране Specify Table Copy or Query оставьте переключатель в положении Copy data from one or more tables or views.

7. На экране Select Source Tables and Views установите флажки напротив всех таблиц схемы Person (их должно быть 6).

8. На экране Save and Execute Package оставьте флажок Execute Immediately и установите флажок Save SSIS Package. Затем переставьте переключатель в положение File System и нажмите Next.

9. В открывшемся окне Package Protection Level выберите тип защиты Encrypt all data with password и введите пароль P@ssw0rd.



10. На экране Save SSIS Package в поле Name введите CopyPerson, а в поле File Name — C:\CopyPerson.dtsx. Нажмите на кнопку Next, а затем — Finish. Убедитесь на экране протокола выполнения, что все операции выполнены успешно, а затем нажмите на кнопку Close.

11. Откройте созданный вами файл C:\Person.mdb в Microsoft Access и убедитесь, что данные скопированы.

К пункту 3 — применение преобразований Data Flow Task:

12. Запустите Business Intelligence Development Studio (меню Пуск à Программы à Microsoft SQL Server 2008 à SQL Server Business Intelligence Development Studio).

13. В меню File выберите Open à File и в открывшемся окне выберите файл C:\CopyPerson.dtsx. В ответ на приглашение ввести пароль введите P@ssw0rd и нажмите OK. Если возникнет предупреждение "Document contains one or more extremely long lines of text", проигнорируйте его, нажав на кнопку Да. Пакет будет открыт в SSIS Designer.

14. Перейдите на вкладку Data Flow редактора SSIS Designer и найдите преобразование для таблицы Contact. Оно может выглядеть, например, так, как представлено на рис. 9.1.

Рис. 1.1.Преобразование для таблицы Contact в окне SSIS Designer

15. В меню View выберите Toolbox, чтобы открылось окно Toolbox. Затем перетащите в окно SSIS Designer на вкладку Data Flow элемент Script Component из раздела Data Flow Transformations. В открывшемся окне Select Script Component Type переставьте переключатель в положение Transformation и нажмите на кнопку OK.

16. Щелкните правой кнопкой мыши по зеленой стрелке, которая идет от преобразования Data Conversion 3 и в контекстном меню выберите Delete.

17. Затем щелкните мышью по элементу Data Conversion 3, чтобы его выделить. Перетащите зеленую стрелку, которая выходит из этого элемента, на созданный вами элемент Script Component.

18. Затем точно также выделите элемент Script Component и перетащите выходящую из него зеленую стрелку на элемент Destination 2 - Contact. В итоге конфигурация должна выглядеть так, как представлено на рис. 9.2.

Рис. 9.2.Схема прохождения данных после добавления преобразования Script Component

19. Щелкните правой кнопкой мыши по созданному вами элементу Script Component и в контекстном меню выберите Edit.

20. На вкладке Input Columns установите флажок напротив столбца Phone и в списке в нижней части вкладки в столбце Usage Type для этого столбца выберите ReadWrite.

21. Перейдите на вкладку Script и нажмите на ней на кнопку Design Script.

22. В открывшемся окне редактора кода на месте комментария Add your code here введите следующий код:

7. Row.Phone = Replace(Replace(Row.Phone, "-", ""), " ", "")

23. Закройте окно редактора кода с сохранением внесенных изменений и нажмите на кнопку OK, чтобы закрыть свойства преобразования Script Component.

24. Сохраните измененный вами пакет CopyPerson.dtsx и закройте окно SSIS Designer.

25. Для проверки работоспособности созданного вами пакета откройте уже созданный файл Person.mdb в Microsoft Access и удалите в нем все таблицы, а потом закройте его.

26. Щелкните правой кнопкой мыши по измененному вами пакету CopyPerson.dtsx в Windows Explorer и в контекстном меню выберите Открыть. Пакет будет открыт при помощи программы Execute Package Utility.

27. Нажмите на кнопку Execute в окне этой программы и в ответ на приглашение введите пароль P@ssw0rd. Просмотрите информацию о выполнении пакета. После окончания выполнения откройте средствами Microsoft Access файл Person.mdb и просмотрите созданную в нем таблицу Contact. В столбце Phone не должно быть ни пробелов, ни дефисов.

К пункту 4 — создание пакетного файла с зашифрованной командной строкой:

Команда в пакетном файле C:\CopyPerson.bat может выглядеть так:

DTEXEC /F "C:\CopyPerson.dtsx" /De P@ssw0rd /Rep V > C:\CopyPerson.Log





sdamzavas.net - 2020 год. Все права принадлежат их авторам! В случае нарушение авторского права, обращайтесь по форме обратной связи...