2010-05-10 11 views
21

मेरे पास एक एसएसआईएस पैकेज है जिसमें एक नियंत्रण प्रवाह होता है जिसमें एक अनुक्रम में निष्पादित एसक्यूएल कार्यों का एक गुच्छा होता है।एसएसआईएस नियंत्रण प्रवाह में चुनिंदा कार्य निष्पादित करें

मुझे प्रत्येक कार्य के लिए ध्वज की जांच करने की आवश्यकता है और यदि यह सेट है, तो कार्य को चलाने की आवश्यकता है, अगर छोड़ें और अगले पर जाएं।

इनमें से प्रत्येक कार्य एक संग्रहित प्रो निष्पादित करता है। इसलिए यदि मैं सेट नहीं करता हूं तो मैं proc में जांच कर सकता हूं और "वापसी" कर सकता हूं। मैं किसी भी "एसएसआईएस" समाधान की तलाश में था।

TIA

पुनश्च

उत्तर

25

अपने नियंत्रण प्रवाह कार्यों के बीच, तीर पर क्लिक करें और संपादित करें चुनें। जब आप ऐसा करते हैं, तो आपको एक संवाद मिलता है जो आपको कार्य की "बाधा" (सफलता, समापन या विफलता) की जांच करने की अनुमति देता है, एक "अभिव्यक्ति" (यानी आप अपना निष्पादन एसक्यूएल कार्य एक मूल्य वापस कर सकते हैं, उस मूल्य को स्टोर करें एक चर, और उस अभिव्यक्ति में उस चर के मान को यह निर्धारित करने के लिए जांचें कि क्या आप जिस पथ को संपादित कर रहे हैं उसे जारी रखना है), एक "अभिव्यक्ति और बाधा", और "अभिव्यक्ति या बाधा"। तर्क के अलावा ये अंतिम दो समान हैं। "अभिव्यक्ति और बाधा" को अभिव्यक्ति और बाधा दोनों पर एक सच्ची स्थिति की आवश्यकता होती है, "अभिव्यक्ति या बाधा" को केवल अभिव्यक्ति और बाधा में से एक पर एक वास्तविक स्थिति की आवश्यकता होती है।

+0

मेरे पास सिर्फ एक रास्ता है। और उस पथ में दिए गए चरणों को ध्वज की जांच करने की आवश्यकता है, यदि सेट नहीं है तो पथ में चरण पर जाएं। क्या यह "बाधा" के साथ संभव है? –

+0

नहीं, बाधा केवल उस कार्य की निष्पादन स्थिति की जांच करती है जिसका इनपुट कनेक्ट होता है। यदि कार्य सफल होता है, तो यदि कार्य विफल हो जाता है, तो सफलता पर सेट होने पर बाधा परीक्षण सत्य होगा, तो असफलता पर सेट होने पर बाधा परीक्षण सत्य होगा, जब कार्य पूरा होने पर कार्य पूरा हो जाता है तो बाधा सच होती है। आप अभिव्यक्ति चाहते हैं। अपनी संग्रहीत प्रो में, आउटपुट के रूप में अपना ध्वज मान वापस करें। उस आउटपुट को एक चर में रखें। आपके पथ में अभिव्यक्ति का परीक्षण करें और अपनी स्थिति के विरुद्ध चर का परीक्षण करें। यदि सही है तो पथ आपके प्रवाह में अगले चरण तक पहुंच जाएगा। –

+0

पहले कार्य के बारे में क्या? – GeorgiG

40

मुझे लगता है कि आपका प्रश्न मेरा जैसा ही था जिसमें मैं अपने नियंत्रण प्रवाह में "इनलाइन" कार्य को निष्पादित करना चाहता था।

मुझे मिला सबसे आसान तरीका नियंत्रण प्रवाह वस्तुओं के बीच डेटा कनेक्टर पर अभिव्यक्ति शामिल नहीं है बल्कि नियंत्रण ऑब्जेक्ट पर अभिव्यक्तियों का उपयोग करके और अभिव्यक्ति का उपयोग करके "अक्षम" मान सेट करना शामिल नहीं है। निष्पादन पर इस तरह, ऑब्जेक्ट या तो अभिव्यक्ति मूल्यांकन के आधार पर छोड़ दिया गया है या नहीं।

उदाहरण के तौर पर, मैं "एक्सट्रैक्ट टाइप" नामक एक चर "पूर्ण" के बराबर था या नहीं, इसके आधार पर, मैं अपने इंडेक्स को निकालने के लिए "SQL कार्य निष्पादित करें" निष्पादित करना चाहता था। अगर ऐसा होता तो मैं अपना पूरा भार करने से पहले मेरी टेबल पर इंडेक्स को हटाना चाहता था।

+1

अच्छी पकड़, मैं वहां अभिव्यक्तियों के बारे में भूल गया था। एसएसआईएस में सभी स्थानों को नजरअंदाज करना आसान है कि आप अभिव्यक्तियों का उपयोग कर सकते हैं। अगर मैं आपके उत्तर को आगे बढ़ा सकता हूं तो मैं चाहता हूं। इसका उत्तर देने के लिए धन्यवाद! –

+0

कमाल! मैं कोशिश करूँगा। धन्यवाद वीएम! – GeorgiG

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