किसी SQL Server 2005 एकीकरण सेवा पैकेज में कोई स्क्रिप्ट कार्य का उपयोग करते हुए अनुप्रयोग इवेंट लॉग करने के लिए जानकारी लिखने के लिए कैसे


सारांश


जब आप किसी Microsoft SQL Server 2005 एकीकरण सेवाओं (SSIS) पैकेज़ को बनाने के लिए Microsoft SQL Server Business Intelligence Development Studio का उपयोग करते हैं, आप किसी कार्य को निष्पादित करने के लिए SSIS पैकेज में कोई स्क्रिप्ट कार्य शामिल हो सकते हैं।

उदाहरण के लिए, कार्य चर जानकारी का एक संग्रह Windows अनुप्रयोग इवेंट लॉग करने के लिए लिख कर सकते हैं। आप SSIS पैकेज जिसमें डेटा प्रवाह कार्य बना सकते हैं। यह डेटा प्रवाह कार्य एक पंक्ति संख्या परिवर्तक शामिल होते हैं। Windows अनुप्रयोग इवेंट लॉग करने के लिए पंक्ति संख्या परिवर्तक से पॉपुलेटेड किया गया था जो डेटा लिखने के लिए कोई स्क्रिप्ट कार्य का उपयोग कर सकते हैं।

यह आलेख बताता है कि कैसे Windows अनुप्रयोग इवेंट लॉग करने के लिए जानकारी लिखने के लिए कोई स्क्रिप्ट कार्य का उपयोग करें।

अधिक जानकारी


इस उदाहरण मानता है कि आप निम्न तत्वों में SSIS पैकेज बनाया है:
  • डेटा प्रवाह कार्य
  • कोई स्क्रिप्ट कार्य
  • कोई स्क्रिप्ट कार्य करने के लिए डेटा प्रवाह कार्य से कनेक्टर
  • डेटा प्रवाह कार्य में, डेटा प्रवाह में कोई पंक्ति संख्या परिवर्तक बनाया गया है।
जब आप पैकेज निष्पादित करते हैं, पंक्ति संख्या डेटा लिखने के लिए Windows अनुप्रयोग इवेंट लॉग करने के लिए इच्छित पंक्ति गणना परिवर्तक देता है।

ऐसा करने के लिए, SQL Server Business Intelligence Development Studio में निम्न चरणों का पालन करें:
  1. प्रवाह नियंत्रण टैब सक्रिय होने पर, डिज़ाइन सतह पर राइट-क्लिक करें, और तब चरक्लिक करें। चर विंडो बाएँ फलक में प्रकट होता है।
  2. Mycount नाम है जो किसी चर को जोड़ने के लिए जोड़ें चर चर विंडो में, क्लिक करें। डिफ़ॉल्ट रूप से, Int32नया mycount चर के डेटा प्रकार है।

    नोट संदर्भ चर नाम केस-संवेदी होते हैं।
  3. डेटा प्रवाह कार्य को डबल क्लिक करें। वह
    डेटा फ़्लो टैब प्रकट होता है।
  4. पंक्ति गणना परिवर्तक को डबल क्लिक करें। उन्नत संपादक संवाद बॉक्स प्रकट होता है।
  5. करने के लिए VariableName गुण का मान सेट करें
    mycount.
  6. प्रवाह नियंत्रण टैब क्लिक करें, और उसके बाद स्क्रिप्ट कार्यको डबल क्लिक करें। स्क्रिप्ट कार्य संपादक संवाद बॉक्स प्रकट होता है।
  7. आइटम स्क्रिप्ट बाएँ फलक में क्लिक करें, और उसके ReadOnlyVariables गुण का मान निम्न मान के लिए परिवर्तित करें:
    PackageName,StartTime,ExecutionInstanceGUID,mycount
    नोट सिस्टम चर PackageName, प्रारंभ समय और 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 पुस्तकें ऑनलाइन में निम्न विषय देखें:
  • स्क्रिप्ट कार्य
  • प्रोग्रामिंग स्क्रिप्ट कार्य
  • कैसे करें: किसी कार्य संपादक का उपयोग करते हुए कार्य गुण सेट करें
Microsoft Visual Basic का उपयोग करते हुए Windows अनुप्रयोग इवेंट लॉग करने के लिए लिखने के लिए कैसे के बारे में अधिक जानकारी के लिए, निम्न Microsoft डेवलपर नेटवर्क (MSDN) वेब साइट पर जाएँ: