2010-03-23 13 views
39

से कनेक्शन स्ट्रिंग को गतिशील रूप से सेट करने के लिए कैसे करें मैं SQL सर्वर व्यवसाय इंटेलिजेंट डेवलपमेंट स्टूडियो में SQL सर्वर एकीकरण सेवा (SSIS) का उपयोग कर रहा हूं।एसएसआईएस कॉन्फ़िगरेशन फ़ाइल

मुझे ऐसा कार्य करने की आवश्यकता है जो निम्नानुसार है। मुझे एक स्रोत डेटाबेस से पढ़ना है और इसे एक गंतव्य फ्लैट फ़ाइल में रखना है। लेकिन साथ ही स्रोत डेटाबेस कॉन्फ़िगर करने योग्य होना चाहिए।

इसका मतलब है ओएलडीडीबी कनेक्शन मैनेजर में, कनेक्शन स्ट्रिंग गतिशील रूप से बदलनी चाहिए। यह कनेक्शन स्ट्रिंग को कॉन्फ़िगरेशन/एक्सएमएल/फ्लैट फ़ाइल से लिया जाना चाहिए।

मैंने पढ़ा है कि मैं कनेक्शन स्ट्रिंग को गतिशील रूप से बदलने के लिए चर और अभिव्यक्तियों का उपयोग कर सकता हूं। लेकिन मैं कॉन्फ़िगरेशन/एक्सएमएल/फ्लैट फ़ाइल से कनेक्शन स्ट्रिंग मान कैसे पढ़ूं और चर सेट करें?

इस भाग में मैं असमर्थ हूं। क्या यह हासिल करने का यह सही तरीका है? क्या हम एक एसएसआईएस परियोजना में web.config फ़ाइलों को जोड़ सकते हैं?

उत्तर

10

पैकेज तंत्र कॉन्फ़िगरेशन नामक तंत्र पर कुछ पृष्ठभूमि यहां दी गई है: Understanding Integration Services Package Configurations। लेख विन्यास की 5 प्रकार वर्णन करता है:

  • XML कॉन्फ़िगरेशन फ़ाइल
  • पर्यावरण चर
  • पंजीकरण प्रविष्टि
  • जनक पैकेज चर
  • एसक्यूएल सर्वर

यहाँ स्थापित करने का एक पूर्वाभ्यास है कनेक्शन प्रबंधक पर कॉन्फ़िगरेशन करें: SQL Server Integration Services SSIS Package Configuration - मुझे एहसास है कि यह हम हैं कनेक्शन स्ट्रिंग के लिए एक पर्यावरण परिवर्तक (एक अच्छा विचार नहीं) के लिए, लेकिन मूल बातें एक एक्सएमएल फ़ाइल का उपयोग करने के समान हैं। उस walkthrough में आपको केवल एक ही चरण में परिवर्तन करना है कॉन्फ़िगरेशन प्रकार, और फिर पथ।

26

कुछ विकल्प:

  1. आप Execute Package Utility का उपयोग पैकेज चलाने से पहले अपने डेटा स्रोत को बदलने के लिए, कर सकते हैं।

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

  3. आप एसएसआईएस एक्सएमएल package configuration फ़ाइल का उपयोग कर सकते हैं। यहां एक walk through है।

  4. आप डेटाबेस कॉन्फ़िगरेशन में अपनी कॉन्फ़िगरेशन सहेज सकते हैं।

+3

4. आप डेटाबेस कॉन्फ़िगरेशन में अपनी कॉन्फ़िगरेशन सहेज सकते हैं। – HLGEM

+0

5 प्रकार की कॉन्फ़िगरेशन का वर्णन किया गया है [एकीकरण सेवाओं पैकेज कॉन्फ़िगरेशन को समझना] (http://msdn.microsoft.com/en-us/library/cc895212.aspx) –

29

सबसे पहले अपने SSIS पैकेज (पैकेज स्कोप) के लिए एक चर जोड़ने - मैं फ़ाइल नाम, OleRootFilePath, OleProperties, OleProvider इस्तेमाल किया। प्रत्येक चर के लिए प्रकार "स्ट्रिंग" है। फिर मैं एक कॉन्फ़िगरेशन फ़ाइल बनाता हूं (प्रत्येक चर - मान का चयन करें) - कॉन्फ़िगरेशन फ़ाइल में मानों को पॉप्युलेट करें - उदाहरण: ओलेप्रॉपर्टीज के लिए - Microsoft.ACE.OLEDB.12.0; ओलेप्रोपर्टीज के लिए - एक्सेल 8।0; एचडीआर =, OleRootFilePath - अपने Excel फ़ाइल पथ, फ़ाइल का नाम - फ़ाइल का नाम

कनेक्शन प्रबंधक में - मैं तो गुण> Expressions-> कनेक्शन स्ट्रिंग अभिव्यक्ति सेट गतिशील जैसे:

 
"Provider=" + @[User::OleProvider] + "Data Source=" + @[User::OleRootFilePath] 
+ @[User::FileName] + ";Extended Properties=\"" + @[User::OleProperties] + "NO \""+";" 

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

+1

धन्यवाद, यह सबसे अच्छी walkthrough है। – Sky

2

गोटो पैकेज गुण-> कॉन्फ़िगरेशन-> पैकेज कॉन्फ़िगरेशन सक्षम करें-> जोड़ें-> xml कॉन्फ़िगरेशन फ़ाइल-> dtsconfig फ़ाइल निर्दिष्ट करें-> अगला क्लिक करें-> OLEDB गुणों में कनेक्शन स्ट्रिंग पर टिकटें-> कनेक्शन स्ट्रिंग मान प्रदर्शित किया जाएगा- > अगला क्लिक करें और पैकेज समाप्त करें इसलिए कॉन्फ़िगर किया गया है।

आप इस प्रक्रिया को

0

ये जवाब सही है, लेकिन पुरानी हैं और Depoloyement Package Model लिए काम करता है में भी पर्यावरण चर जोड़ सकते हैं। क्या मैं वास्तव में जरूरत सर्वर नाम एक कनेक्शन प्रबंधक के डेटाबेस नाम बदलने के लिए, है और मैं यह बहुत ही उपयोगी पाया:

https://www.youtube.com/watch?v=_yLAwTHH_GA

एसक्यूएल सर्वर 2012-2014-2016 इस्तेमाल करने वाले लोगों के लिए बेहतर ... Deployment Project Model साथ