दुर्भाग्य से, आपके एकीकरण सेवाओं के समाधान (विजुअल स्टूडियो में) से पैकेजों को खोले बिना या शायद DTExec Utility
का उपयोग करके उन्हें क्रियान्वित करने का कोई तरीका नहीं है। . लेकिन आप कुछ समाधान कर सकते हैं और प्रोग्रामेटिक रूप से त्रुटियों की जांच कर सकते हैं:
समाधान
- मैंने विजुअल स्टूडियो (Vb.Net का उपयोग करके) का उपयोग करके एक विनफॉर्म एप्लिकेशन बनाया
- मैंने
Microsoft.SqlServer.DTSPipelineWrap
जोड़ा है औरMicrosoft.SQLServer.ManagedDTS
संदर्भ के रूप में -
मैंने एक विशिष्ट निर्देशिका में संकुल पर लूप करने के लिए निम्नलिखित कोड का उपयोग किया, सत्यापित किया, और एक लॉग फ़ाइल में त्रुटियां प्राप्त की:
Dim strPackagesDirectory As String = "C:\Users\Admin\Desktop\New folder" Dim strOutputLogFile As String = "D:\1.txt" For Each strFile As String In IO.Directory.GetFiles(strPackagesDirectory, "*.dtsx", IO.SearchOption.TopDirectoryOnly) Dim pckg As New Microsoft.SqlServer.Dts.Runtime.Package Dim app As New Microsoft.SqlServer.Dts.Runtime.Application pckg = app.LoadPackage(strFile, Nothing) Dim obj = pckg.Validate(Nothing, Nothing, Nothing, Nothing) If pckg.Errors.Count > 0 Then Using sr As New IO.StreamWriter(strOutputLogFile, True) sr.WriteLine("") sr.WriteLine(strFile) sr.WriteLine("--------------") For Each err As Object In pckg.Errors sr.WriteLine(err.Description) Next sr.WriteLine("==========") sr.Close() End Using End If Next
संदर्भ
- https://msdn.microsoft.com/en-us/library/ms136090.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1
- https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.package.aspx
- https://msdn.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.dtscontainer.validate.aspx