कॉन्फ़िगरेशन फ़ाइल दृष्टिकोण का उपयोग करने के साथ चुनौती यह है कि आपको फ़ाइल को लगातार संशोधित करने की आवश्यकता होगी। एसएसआईएस शुरू होने के बाद कॉन्फ़िगरेशन फ़ाइल को फिर से लोड नहीं करेगा ताकि आपके पास अनुमानित रूप से 8:05 और 8:35 बजे नौकरियां हो सकें जो कॉन्फ़िगरेशन फ़ाइलों को स्वैप करती हैं लेकिन यह गन्दा हो जाती है और किसी बिंदु पर टूट जाती है।
मैं इस स्थिति को कमांड लाइन वेरिएबल्स (/dtexec में सेट विकल्प के साथ संभालूंगा। ए> ) यदि आप कमांड लाइन से पैकेज चला रहे थे, तो यह कुछ इस तरह दिखेगा dtexec.exe /file MyPackage.dtsx
भले ही आप SQL एजेंट का उपयोग कर रहे हों, परदे के पीछे यह उन कमांड लाइन तर्कों का निर्माण कर रहा है।
यह दृष्टिकोण मानता है कि आप दो अलग-अलग नौकरियां बनाते हैं (बनाम 1 नौकरियां दिन में 2x निर्धारित की जाती हैं)। AgentMyPackage2011 में एसएसआईएस का नौकरी चरण है जिसके परिणामस्वरूप
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2011\"
और AgentMyPackage2012 में SSIS का एक जॉब स्टेप है जिसके परिणामस्वरूप
dtexec /file MyPackage.dtsx /Set \Package.Variables[User::Year].Properties[Value];\"2012\"
जीयूआई के माध्यम से, यह कुछ ऐसा दिखाई देगा
जिस संपत्ति को आप कॉन्फ़िगर करना चाहते हैं, उसके लिए कोई GUI या चयनकर्ता नहीं है। हालांकि, चूंकि आप अपने पैकेज के लिए पहले से ही एक .dtsConfig फ़ाइल बना चुके हैं, इसलिए उस फ़ाइल को खोलें और एक अनुभाग देखें जैसे
<Configuration ConfiguredType="Property" Path="\Package.Variables[User::Year].Properties[Value]" ValueType="Int32">
<ConfiguredValue>2009</ConfiguredValue>
फ़ाइल में पहले से ही "चीज़" का पथ है जिसे आप कॉन्फ़िगर करने का प्रयास कर रहे हैं ताकि आपके कॉलिंग प्रोग्राम में पंच हो और फिर पैकेज कॉन्फ़िगरेशन के वर्ष भाग को बंद कर दें।
अंत में, SSIS कॉन्फ़िगरेशन प्राथमिकता का लिंक क्योंकि 2005 बनाम 2008 मॉडल में अंतर है। मुझे लगता है कि आपने अपने टिकट में 2008 का संकेत दिया है, लेकिन भविष्य के पाठकों के लिए, यदि आप /SET और एक कॉन्फ़िगरेशन स्रोत (xml, sql सर्वर, रजिस्ट्री, पर्यावरण चर) दोनों का उपयोग कर रहे हैं, तो संचालन का क्रम संस्करणों के बीच भिन्न होता है।