Tóm tắt

Khi bạn sử dụng Microsoft SQL Server Business Intelligence Development Studio để tạo gói Microsoft SQL Server 2005 tích hợp dịch vụ (SSIS), bạn có thể bao gồm việc kịch bản trong các gói SSIS để thực hiện tác vụ.

Ví dụ: việc có thể ghi một tập hợp các thông tin khác nhau vào Nhật ký sự kiện ứng dụng Windows. Bạn có thể tạo ra một gói SSIS có nhiệm vụ dòng dữ liệu. Nhiệm vụ dòng dữ liệu này bao gồm chuyển đổi số lượng hàng. Bạn có thể sử dụng một tác vụ kịch bản ghi dữ liệu được xác định bằng cách chuyển đổi số dòng vào Nhật ký sự kiện ứng dụng Windows.

Bài viết này mô tả cách sử dụng một tập lệnh nhiệm vụ ghi nhật ký sự kiện ứng dụng thông tin.

Thông tin

Ví dụ này giả định rằng bạn đã tạo ra các yếu tố trong các gói SSIS:

  • Nhiệm vụ dòng dữ liệu

  • Tác vụ kịch bản

  • Nối từ việc dữ liệu dòng lệnh nhiệm vụ

  • Trong tác vụ dòng dữ liệu bạn tạo ra một biến đổi hàng số dòng dữ liệu.

Khi bạn thực hiện các gói phần mềm, chuyển đổi số lượng hàng trả lại hàng số lượng dữ liệu mà bạn muốn ghi vào Nhật ký sự kiện ứng dụng Windows.

Để thực hiện việc này, hãy làm theo các bước sau trong SQL Server Business Intelligence Development Studio:

  1. Khi tab Kiểm soát dòng hoạt động, bấm chuột phải vào bề mặt thiết kế và sau đó bấm biến. Cửa sổ biến xuất hiện trong ngăn bên trái.

  2. Trong cửa sổ biến , bấm Add biến thêm một biến có tên mycount. Theo mặc định, loại dữ liệu biến mycount mới là Int32.

    Lưu ý Tham chiếu đến tên biến là chữ.

  3. Bấm đúp vào tác vụ Dòng dữ liệu . Các
    Dữ liệu lưu thẻ xuất hiện.

  4. Bấm đúp vào Hàng số chuyển đổi. Hộp thoại Trình soạn thảo nâng cao xuất hiện.

  5. Đặt giá trị của thuộc tính VariableName cho
    mycount.

  6. Nhấp vào tab Kiểm soát dòng , và sau đó bấm đúp vào Tập lệnh tác vụ. Hộp thoại Script tác vụ Editor xuất hiện.

  7. Bấm vào mục Script trong ngăn bên trái, và sau đó thay đổi giá trị của thuộc tính ReadOnlyVariables cho giá trị sau:

    PackageName,StartTime,ExecutionInstanceGUID,mycount

    Lưu ý Các PackageName, StartTime và ExecutionInstanceGUID đã biến hệ thống. Các biến hệ thống được sử dụng để ghi thông tin gói vào Nhật ký sự kiện ứng dụng Windows.

  8. Trong các
    Biên tập kịch bản nhiệm vụ thoại, bấm Kịch bản thiết kế.

  9. Đảm bảo rằng tên sau được bao gồm trong mã của bạn trước khi bất kỳ khai báo khác:

    Imports System
    Imports System.Data
    Imports System.Math
    Imports System.Diagnostics
    Imports Microsoft.SqlServer.Dts.Runtime
  10. Khi cửa sổ Microsoft Visual Studio cho các ứng dụng mới xuất hiện, thay thế mã mẫu sau với mã phương pháp 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. Đóng cửa sổ Microsoft Visual Studio cho ứng dụng .

  12. Trong các
    Biên tập kịch bản nhiệm vụ thoại, bấm OK.

  13. Nhấn F5 để thực hiện các gói.

Khi gói sẽ chạy thành công, thông tin tương tự như sau sẽ xuất hiện trong Nhật ký sự kiện ứng dụng:

Tham khảo

Để biết thêm thông tin, hãy xem các chủ đề sau trong Microsoft SQL Server 2005 sách trực tuyến:

  • Tác vụ kịch bản

  • Lập trình việc kịch bản

  • Làm thế nào để: thiết lập công việc thuộc tính bằng cách sử dụng một trình soạn thảo công việc

Để biết thêm thông tin về cách ghi nhật ký sự kiện ứng dụng Windows bằng cách sử dụng Microsoft Visual Basic, ghé thăm Web site sau của Microsoft Developer Network (MSDN):

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

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Bạn hài lòng đến đâu với chất lượng dịch thuật?
Điều gì ảnh hưởng đến trải nghiệm của bạn?

Cảm ơn phản hồi của bạn!

×