2011-01-10 11 views
6

क्या कोई स्क्रिप्ट कार्य विफल होने की अनुमति देने का कोई तरीका है, फिर भी पैकेज निष्पादन परिणाम केवल अन्य कार्यों के निष्पादन परिणामों पर आधारित है? उदाहरण के लिए, मेरे पास 5 कार्य हैं। मुझे परवाह नहीं है कि कार्य 2 का नतीजा क्या है, लेकिन यदि कोई अन्य विफल रहता है, तो मैं पैकेज को विफल करना चाहता हूं। अन्यथा, मैं इसे सफल होना चाहता हूं ...एसएसआईएस - किसी कार्य को विफल करने की अनुमति दें लेकिन पैकेज सफल हो गया है?

यह संभव है?

उत्तर

4

कार्य की संपत्तियों में गलत तरीके से विफल करने के लिए विफलता सेट अप करने का प्रयास करें।

अगला विकल्प वास्तव में आपके कार्यों को विफल नहीं करेगा, लेकिन आपके लिए काम कर सकता है: अपने कोड को पकड़ने की कोशिश करें और आखिरकार 2 कार्यों के लिए सफलता सेट करने के लिए उपयोग करें जिनकी आपको परवाह नहीं है।

 try 
     { 
      // Do work here 
     } 
     catch 
     { 
      // log errors here 
     } 
     finally 
     { 
      Dts.TaskResult = (int)ScriptResults.Success; 
     } 
+0

दुर्भाग्य से, कई कारणों से, कार्य को कभी-कभी विफल होना पड़ता है। – nosirrahcd

+0

इस पोस्ट में EventHandlers का उपयोग करके समाधान का एक लिंक है: http://stackoverflow.com/questions/140850/the-best-way-for-a-ssis-ftp-task-to-not-fail-when-here- हैं-नो-फाइल-टू-कॉपी/306273 # 306273 –

5

साथ ही कार्य आप भी पैकेज पर ही MaximumErrorCount स्थापित करना चाहिए की तुलना में 1. अधिक से अधिक कुछ करने के बारे में FailPackageOnFailure की स्थापना कार्य अभी भी संकुल त्रुटि गिनती में वृद्धि करेगा और यदि त्रुटि गिनती MaximumErrorCount तो अधिक है पैकेज कर सकते हैं/अभी भी असफल हो जाएगा।

+1

धन्यवाद, यह maxErrorCount था जो इसे मेरे लिए असफल कर रहा था! – samjudson

+0

यह मेरे मामले में था। आपने मेरा समय बचाया –

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