2009-03-17 11 views
20

में डीबगिंग मैं एक एसएसआईएस पैकेज में स्क्रिप्ट कार्य के भीतर लिखे गए .NET कोड को डीबग कैसे करूं? विकास पर्यावरण ब्रेकपॉइंट रखने की इजाजत देता है, हालांकि मुझे कोड पर नहीं ले जाता है जैसे डीबगिंग के दौरान नियमित रूप से .NET प्रोग्रामिंग में।एसएसआईएस

इसके अलावा, मैं एक नुकसान में हूँ डिबग घड़ी खिड़की के लिए SSIS पैकेज चर जोड़ने के बारे में समझने के लिए?

वर्तमान में एक चीज़ जो मैंने पाया वह संदेशबॉक्स का उपयोग था। लेकिन विकास पर्यावरण का उपयोग कर एक पूर्ण डीबगिंग के लिए कोई विकल्प नहीं है। किसी भी मदद की सराहना की है। धन्यवाद।

उत्तर

9

डिबगिंग लघु उद्योगों BIDS वातावरण में संकुल दृश्य स्टूडियो के साथ काम कर के रूप में ही गेंद खेल नहीं है।

आप इसे उपयोगी संदर्भ Debugging How-To-Topics(SSIS)

परामर्श लेने के लिए यानी दृश्य स्टूडियो के भीतर से अपने बहुत स्वयं के कस्टम घटक विकसित किया है, मिल सकता है, तो आप दृश्य के भीतर उस घटक के विशिष्ट कार्यक्षमता डिबग करने के लिए सक्षम होना चाहिए स्टूडियो पर्यावरण, बीआईडीएस के भीतर उपयोग के लिए घटक उपलब्ध कराने से पहले।

आप आंतरिक .NET कोड को डीबग करने में सक्षम नहीं हैं जो बीआईडीएस के भीतर एसएसआईएस घटकों (यानि एफ़टीपी टास्क) में निर्मित किसी भी अन्य को बनाता है, इसलिए मुझे संदेह है कि एक कस्टम घटक अलग होगा।

+0

http://msdn.microsoft.com/en-us/library/ms140033.aspx इतना असुविधाजनक। हां, बीआईडीएस वास्तव में वीएस की तरह नहीं है। – Steam

1

मुझे लगता है कि लघु उद्योगों का समर्थन और स्क्रिप्ट कार्य में ब्रेकप्वाइंट पर रोक (नियंत्रण प्रवाह में) है। यह स्क्रिप्ट ट्रांसफॉर्म (डेटा प्रवाह में) के लिए इसका समर्थन नहीं करता है। यह वास्तव में बहुत दुर्भाग्यपूर्ण प्रतिबंध है।

लघु उद्योगों जब आप एक ब्रेकप्वाइंट पर रोक घड़ी विंडो में चर मान दिखाता है। मुझे स्क्रिप्ट ब्रेकपॉइंट के बारे में निश्चित नहीं है, लेकिन एसएसआईएस ब्रेकपॉइंट्स (ऑन-प्री-निष्पादित, आदि) यह काम करता है। लेकिन आपको ब्रेकपॉइंट की आवश्यकता है - आप ब्रेकपॉइंट के बिना यादृच्छिक पल पर वैरिएबल वैल्यू नहीं देख सकते हैं।

29

नोट: यदि आप 64 पर चल रहे हैं आप गलत पर परियोजना (SSIS) डीबग propertie Run64BitRuntime को बदलना होगा।

उसके बाद आप .net में एक स्क्रिप्ट कार्य डिबग, और पटकथा में कोड को तोड़ने में सक्षम हो जाएगा।

तरह से जॉन Sansom तक न सवाल के इस भाग को पढ़ लिया है करने के लिए प्रकट: मैं एक SSIS पैकेज में एक स्क्रिप्ट कार्य भीतर लिखा नेट कोड कैसे डीबग करूँ? यह एक स्क्रिप्ट कार्य है, सामान्य एसएसआईएस डीबगिंग नहीं।

उम्मीद है कि इससे मदद मिलती है।

+7

डीबग संपत्ति को बदलना Run64BitRuntime गलत था जवाब था। अच्छा है। +1 – Deano

+0

एक दिन के लिए मेरे बालों को फाड़ने के बाद यह समाधान था, मैंने बोलियां 2013 से बोलियों तक 2015 तक अपग्रेड किया। मुझे लगता है कि अपग्रेड ने संपत्ति को 64 बिट पर रीसेट कर दिया होगा। – Simon

1

आप किसी भी प्रक्रिया (लगभग) किसी भी प्रक्रिया को डीबगर संलग्न कर सकते हैं जिसके लिए आप लिख रहे हैं। अपने स्रोत में उचित बिंदु पर Debugger.Break पर कॉल एम्बेड करके .NET कोड।

MSDN का हवाला देते हुए:

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

मैंने एसएसआईएस में एम्बेडेड सी # कोड सहित सभी प्रकार की चीजों को डीबग करने के लिए इसका उपयोग किया है।

अपडेट किया गया: संशोधित शब्द यह अब एक सैद्धांतिक तकनीक नहीं है, लेकिन मैंने उपयोग किया है।

+0

इस लाइन को जोड़ने से एसएसआईएस स्क्रिप्ट कार्य – DaveRead

+1

में कोई प्रभाव नहीं पड़ता संबंधित कॉल 'डीबगर। ब्रेक' काम करता है - लेकिन कभी-कभी आप सी # के बजाय आईएल स्तर पर डीबगिंग के साथ फंस जाते हैं। – Bevan

+0

यह मेरे लिए पूरी तरह से काम किया! धन्यवाद बेवन। –

0

हालांकि स्क्रिप्ट घटक डाटा प्रवाह में कार्य प्रगति नियमित रूप से, संदेश बॉक्स आदि तैयार करने जैसा ही समाधान के अलावा अन्य डिबगिंग के किसी भी रूप अनुमति नहीं दी जाएगी

स्क्रिप्ट टास्क नियंत्रण प्रवाह आइटम डिबग करने के लिए डेवलपर लघु उद्योगों कोड की अनुमति देगा

हाल ही में यह मिला। :)

0

सुनिश्चित करें कि आप पूर्ण पैकेज भी चला रहे हैं। पैकेज ब्रेक पॉइंट्स के लिए डीबगर आपके द्वारा किए जाने तक किक नहीं करेगा।

डीबगिंग स्क्रिप्ट कार्यों को इसी तरह से काम करता है।

संबंधित मुद्दे