كيفية كتابة معلومات إلى سجل أحداث التطبيق باستخدام مهمة البرنامج نصي في حزمة خدمات تكامل SQL Server 2005

ملخص

عند استخدام استوديو تطوير ذكاء العمل خادم SQL ل Microsoft لإنشاء حزمة Microsoft SQL Server 2005 تكامل خدمات (SSIS)، يمكنك تضمين مهمة البرنامج نصي في حزمة مباحث أمن الدولة لتنفيذ مهمة.

على سبيل المثال، قد المهمة كتابة مجموعة من المعلومات المتغيرة إلى سجل أحداث تطبيق Windows. يمكنك إنشاء حزمة مباحث أمن الدولة التي تحتوي على مهمة "تدفق البيانات". وتشمل هذه المهمة "تدفق البيانات" تحويل "عدد الصفوف". يمكنك استخدام البرنامج نصي مهمة لكتابة البيانات التي تم ملؤها بتحويل "عدد الصفوف" إلى سجل أحداث تطبيق Windows.

توضح هذه المقالة كيفية استخدام مهمة البرنامج نصي لكتابة معلومات إلى سجل أحداث تطبيق Windows.

مزيد من المعلومات

يفترض هذا المثال أنك قمت بإنشاء العناصر التالية في حزمة مباحث أمن الدولة:
  • مهمة "تدفق البيانات"
  • مهمة البرنامج النصي
  • موصل من "تدفق البيانات" المهمة للمهمة البرنامج النصي
  • في "تدفق البيانات" المهمة، قمت بإنشاء عملية تحويل "عدد الصفوف" في تدفق البيانات.
عندما تقوم بتنفيذ مجموعة التدابير، إرجاع تحويل "عدد صفوف" البيانات عدد الصفوف التي تريد الكتابة إلى سجل أحداث التطبيق Windows.

للقيام بذلك، اتبع هذه الخطوات في استوديو تطوير ذكاء العمل ملقم SQL:
  1. عند تنشيط علامة التبويب تدفق عناصر التحكم ، انقر نقراً مزدوجاً فوق سطح التصميم، وثم انقر فوق متغيرات. يظهر إطار المتغيرات في الجزء الأيمن.
  2. في نافذة متغيرات ، انقر فوق إضافة متغير لإضافة متغير يسمى mycount. بشكل افتراضي، نوع بيانات المتغير mycount الجديد هو Int32.

    ملاحظة: مراجع لأسماء المتغيرات حساسة لحالة الأحرف.
  3. انقر نقراً مزدوجاً فوق المهمة تدفق البيانات . على
    تظهر علامة التبويب تدفق البيانات .
  4. انقر نقراً مزدوجاً فوق تحويل عدد الصفوف . يظهر مربع الحوار محرر متقدم .
  5. تعيين قيمة الخاصية VariableName
    mycount.
  6. انقر فوق علامة التبويب تدفق عناصر التحكم ، وانقر نقراً مزدوجاً فوق المهمة البرنامج النصي. يظهر مربع الحوار محرر البرامج النصية المهمة .
  7. انقر فوق العنصر البرنامج النصي في الجزء الأيمن ثم قم بتغيير قيمة الخاصية ريدونليفاريابليس إلى القيمة التالية:
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    ملاحظة: اسم الحزمة ووقت البدء واكسيكوتيونينستانسيجويد والأصناف متغيرات النظام. يتم استخدام هذه المتغيرات النظام لكتابة معلومات الحزمة إلى سجل أحداث تطبيق Windows.
  8. ضمن علامة التبويب
    الحوار script Editor المهمة ، انقر فوق تصميم البرنامج النصي.
  9. تأكد من أن مساحات الأسماء التالية مضمنة في التعليمات البرمجية الخاصة بك قبل أية تعريفات الأخرى:
    Imports SystemImports 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. ضمن علامة التبويب
    الحوار script Editor المهمة ، انقر فوق "موافق".
  13. اضغط F5 لتنفيذ الحزمة.
عند تشغيل الحزمة بنجاح، تظهر معلومات مشابهة لما يلي في سجل أحداث التطبيق Windows:

المراجع

لمزيد من المعلومات، راجع المواضيع التالية في Microsoft كتب SQL Server 2005:
  • عمل البرنامج النصي
  • برمجة المهمة البرنامج النصي
  • كيفية: تعيين خصائص المهمة باستخدام محرر المهمة
لمزيد من المعلومات حول كيفية كتابة سجل أحداث التطبيق Windows باستخدام Microsoft Visual Basic، قم بزيارة موقع شبكة مطوري Microsoft (MSDN) التالي على الويب:
خصائص

رقم الموضوع: 906560 - آخر مراجعة: 15‏/01‏/2017 - المراجعة: 1

تعليقات