Обзор

При использовании Microsoft SQL Server Business Intelligence Development Studio для создания пакета Microsoft SQL Server 2005 Integration Services (SSIS), задача «сценарий» можно включить в пакет служб SSIS для выполнения задачи.

Например задача может написать коллекцию переменных данных в журнал событий приложений Windows. Можно создать пакет служб SSIS, содержит задачу потока данных. Эта задача потока данных включает в себя преобразование «подсчет строк». Задача «сценарий» можно использовать для записи данных, которая была заполнена преобразование строк в журнал событий приложений Windows.

В данной статье описывается, как использовать задачу «Сценарий» для записи информации в журнал событий приложений Windows.

Дополнительные сведения

В этом примере предполагается, что в пакет служб SSIS созданы следующие элементы:

  • Задача «Поток данных»

  • Задача «сценарий»

  • Разъем от задачи «Поток данных» для задачи «Сценарий»

  • В задаче «Поток данных» созданный счетчик строк преобразованием в поток данных.

При выполнении пакета преобразование «подсчет строк» возвращает данные счетчика строк, в который требуется выполнить запись в журнал событий приложений Windows.

Чтобы сделать это, выполните следующие действия в SQL Server Business Intelligence Development Studio.

  1. При активной вкладке Поток управления щелкните правой кнопкой мыши область конструктора и выберите переменные. Откроется окно « переменные » в левой области.

  2. В окне « переменные » выберите команду Добавить переменную , чтобы добавить переменную с именем mycount. По умолчанию тип данных новых mycount переменной является Int32.

    Примечание. Ссылки на имена переменных учитывают регистр.

  3. Дважды щелкните задачу « Поток данных ». В
    Откроется вкладка « Поток данных ».

  4. Дважды щелкните преобразование « Подсчет строк ». Появится диалоговое окно Расширенный редактор .

  5. Установите значение свойства VariableName
    mycount.

  6. Перейдите на вкладку Поток управления и дважды щелкните Задачу «Сценарий». Появится диалоговое окно Редактор задачи «Сценарий» .

  7. Щелкните элемент сценария в левой области, а затем измените значение свойства ReadOnlyVariables на следующее значение:

    PackageName,StartTime,ExecutionInstanceGUID,mycount

    Примечание. Имя пакета, время начала и ExecutionInstanceGUID элементы являются системные переменные. Эти системные переменные используются для записи информации о пакете в журнал событий приложений Windows.

  8. В
    Диалоговое окно Редактор задачи «Сценарий» нажмите кнопку Создать сценарий.

  9. Убедитесь в том, что в коде перед всеми остальными объявлениями включаются следующие пространства имен:

    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Когда появится окно Microsoft Visual Studio для приложений , замените код в метод Main() в следующем образце кода.

    Dim varMyCount As Variable = Dts.Variables("mycount") '
    Dim varPackageName As Variable = Dts.Variables("PackageName")
    Dim varStartTime As Variable = Dts.Variables("StartTime")
    Dim varInstanceID As Variable = Dts.Variables("ExecutionInstanceGUID")
    Dim PackageDuration As Long

    '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
    ' Event log needs
    '>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    Dim sSource As String
    Dim sLog As String
    Dim sEventMessage As String
    Dim sMachine As String
    '<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

    PackageDuration = DateDiff("s", varStartTime.Value, Now())

    sSource = "RowCountReporting from SSIS"

    ' We need the message posted to the Application event log.

    sLog = "Application"
    sEventMessage = "Rows Processed: " & Chr(10) _
    & " case Rows:" + varMyCount.Value().ToString + Chr(10) _
    & "=============================================" & Chr(10) _
    & "The Package: " + varPackageName.Value().ToString _
    & Chr(10) _
    & "Started: " & varStartTime.Value().ToString _
    & Chr(10) _
    & "Current Time:" & System.DateTime.Now _
    & Chr(10) _
    & "=============================================" _
    & Chr(10) _
    & "Package Run Duration in seconds: " & PackageDuration _
    & Chr(10) _
    & "Execution GUID: " & varInstanceID.Value().ToString
    sMachine = "."

    If Not EventLog.SourceExists(sSource, sMachine) Then
    EventLog.CreateEventSource(sSource, sLog, sMachine)
    End If

    Dim ELog As New EventLog(sLog, sMachine, sSource)

    ELog.WriteEntry(sEventMessage, EventLogEntryType.Information, 777, 2)

    '###############################
    Dts.TaskResult = Dts.Results.Success
  11. Закройте окно Microsoft Visual Studio для приложений .

  12. В
    Диалоговое окно Редактор задачи «Сценарий» нажмите кнопку ОК.

  13. Нажмите клавишу F5 для выполнения пакета.

После успешного выполнения пакета, в журнал событий приложений Windows появляется сведения, аналогичные следующим:

Ссылки

Дополнительные сведения см в Microsoft SQL Server 2005 электронной документации:

  • Задача «сценарий»

  • Программировании задачи «Сценарий»

  • Как: установить свойства задач при помощи редактора задач

Дополнительные сведения о том, как записывать в журнал событий приложений Windows с помощью Microsoft Visual Basic, посетите следующий веб-узел Microsoft Developer Network (MSDN):

http://msdn.microsoft.com/en-us/library/07347hdt.aspx

Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?

Что повлияло на вашу оценку?

Добавите что-нибудь? Это необязательно

Спасибо за ваш отзыв!

×