|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Лабораторная работа 2.5 Применение ActiveX Script Task для реализации циклаActiveX Script Task для организации цикла в пакете Data Transformation Services (DTS) SQL Server 2000, свойство ExecutionStatus Задание:создайте пакет DTS, который бы выполнял в базе данных Northwind на вашем локальном сервере команду INSERT [Northwind].[dbo].[Bulk_Customers]([CustomerID], [CompanyName], [Heavy_Buyer])
VALUES('_LAB_', '_TestCompanyName', 'N')
1000 раз и сохраните этот пакет на локальном сервере под именем DTS_Loop. Рекомендация:для удобства проверки предварительно произведите очистку таблицы Bulk_Customers командой DELETE FROM [Northwind].[dbo].[Bulk_Customers]
Решение:1) создайте в DTS Designer новый пакет DTS и сохраните его под именем DTS_Loop с остальными параметрами по умолчанию. 2) добавьте в пакет новое соединение Microsoft OLE DB Provider for SQL Server. В свойствах этого соединения выберите свой локальный сервер и на нем - базу данных Northwind. 3) добавьте в пакет Execute SQL Task и в поле SQL Statement впишите: INSERT [Northwind].[dbo].[Bulk_Customers]([CustomerID], [CompanyName], [Heavy_Buyer])
VALUES('_LAB_', '_TestCompanyName', 'N')
Нажмите на кнопку Parse Query и убедитесь, что команда написана правильно. 4) в меню Package выберите Properties, перейдите на вкладку Global Variables и создайте новую переменную с именем Counter, типом Int и значением по умолчанию 1. 5) добавьте в пакет ActiveX Script Task, удалите весь код, сгенерированный в этом задании по умолчанию и добавьте следующий код: Function Main()
Dim oPkg
If DTSGlobalVariables("LoopCounter").Value < (1000-1) Then
Set oPkg = DTSGlobalVariables.Parent
oPkg.Steps("DTSStep_DTSExecuteSQLTask_1").ExecutionStatus _
= DTSStepExecStat_Waiting
DTSGlobalVariables("LoopCounter").Value = _ DTSGlobalVariables("LoopCounter").Value + 1
Main = DTSTaskExecResult_Success
Else
Main = DTSTaskExecResult_Success
End If
Set oPkg = Nothing
End Function
Закройте окно свойств ActiveX Script Task. 6) добавьте Step типа On Success при помощи меню Workflow, чтобы после успешного выполнения Execute SQL Task начиналось выполнение ActiveX Script Task. 7) сохраните пакет с сохранением внесенных изменений. Затем из Query Analyzer выполните команду DELETE FROM [Northwind].[dbo].[Bulk_Customers]
Затем запустите созданный вами пакет DTS_Loop на выполнение, и из Query Analyzer выполните команду SELECT Count(*) FROM [Northwind].[dbo].[Bulk_Customers]
чтобы убедиться, что в таблицу было добавлено 1000 записей.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить учебные материалы по этому курсу
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||