2012-05-09 16 views
13

मैं सोच रहा था कि क्या लोग स्थानीय डेटाबेस की चल रही समस्या और स्रोत डेवलपमेंट के भीतर एक परियोजना में कई डेवलपर्स के बीच अलग-अलग कनेक्शनस्ट्रिंग का समाधान कर सकते हैं?सभी कैसे कनेक्शनस्ट्रिंग संग्रहीत कर रहे हैं?

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

तो, लोग, आप इस समस्या के लिए किस समाधान का उपयोग कर रहे हैं? स्पष्टीकरण के लिए अतिरिक्त अंक क्यों उनके समाधान काम करता है, पेशेवर, और विपक्ष।

EDIT ध्यान रखें कि यह उत्तर केवल एक एंटरप्राइज़ वातावरण पर लक्षित नहीं होना चाहिए जहां आपके पास सेटअप का पूरा नियंत्रण है। सही समाधान हर किसी के लिए काम करना चाहिए: उद्यम, स्टार्टअप, और ओपन सोर्स देव।

धन्यवाद!

उत्तर

10

मेरे लिए, अपने प्रश्न दो परिणामों में से एक संकेत लगता है:

  1. एक कनेक्शन स्ट्रिंग वेब में निर्दिष्ट है।कॉन्फ़िगरेशन फ़ाइल जो डेटाबेस के सभी स्थानीय संस्करणों के लिए काम करने के लिए पर्याप्त सामान्य है। आपने दर्शाया है कि इस वातावरण में एक आदर्श सेटअप आप पूरा नियंत्रण नहीं है जहां नहीं है।
  2. प्रत्येक डेवलपर अपने या अपनी कनेक्शन स्ट्रिंग है कि स्रोत नियंत्रण में जाँच की कभी नहीं की आपूर्ति करने की आवश्यकता है।

कुछ अन्य लोगों को पहले से ही पहले परिदृश्य कवर किया है। स्थानीयहोस्ट का प्रयोग करें और डेटाबेस नाम के लिए एक सम्मेलन का पालन करें।

<configuration> 
    <connectionStrings configSource="connectionStrings.config"/> 
</configuration> 

संपादित करें:

connectionStrings.config

<connectionStrings> 
    <add name="Name" 
    providerName="System.Data.ProviderName" 
    connectionString="Valid Connection String;" /> 
</connectionStrings> 

से: http://msdn.microsoft.com/en-us/library/ms254494(v=vs.80).aspx

विकल्प 2 के लिए, मैं एक config स्रोत है कि स्रोत नियंत्रण में जाँच नहीं प्राप्त करता है निर्दिष्ट करने की सलाह देते हैं होता

connectionStrings.config परियोजना है कि आप विशेष रूप से स्रोत नियंत्रण से बाहर रखा गया की जड़ में एक फ़ाइल होगा। स्थानीय रूप से काम करते समय प्रत्येक डेवलपर को यह फ़ाइल प्रदान करने की आवश्यकता होगी। आपका उत्पादन कनेक्शन स्ट्रिंग निर्माण/तैनाती पर कोई Web.config परिवर्तन के माध्यम से प्रतिस्थापित किया जा सकता है।

+0

ग्रेट सॉल्यूशन! वास्तव में जो मैं खोज रहा था और उसे नहीं पता था कि यह करने योग्य था –

5

हमारे सभी विकास स्टेशन कुछ हद तक समान हैं।

  1. हम डेटाबेस में एकीकृत प्रमाणीकरण का उपयोग करते हैं, इसलिए उपयोगकर्ता/पासवर्ड को संग्रहीत करने की आवश्यकता नहीं है।
  2. हर कोई डिफ़ॉल्ट उदाहरण का उपयोग करता है।
  3. चूंकि वे सभी स्थानीय डेटाबेस हैं, तो आप उपयोगकर्ता स्थानीयहोस्ट कर सकते हैं।
  4. एक ही डेटाबेस नाम

तो एक कनेक्शन स्ट्रिंग जा रहा है खत्म हो सकता है:

Data Source=localhost;Initial Catalog=TheDatabaseName;Integrated Security=SSPI; 

और हर किसी को है कि उपयोग करता है।

+0

यह उद्यम वातावरण पर बहुत अच्छी तरह से काम करता है। मैंने अधिक आवश्यकताओं को जोड़ने के लिए प्रश्न को संशोधित किया। –

+0

मुझे लगता है कि विकास के लिए अपने पर्यावरण को तैयार करने के लिए कुछ स्थानीय कॉन्फ़िगरेशन बनाने के लिए गैर-एंटरप्राइज़ प्रोजेक्ट पर देवताओं की आवश्यकता होती है। +1 – faester

+2

मुझे नहीं लगता कि यह है। यदि आप कई परियोजनाओं में भाग लेते हैं तो आप उम्मीद नहीं कर सकते कि देव प्रत्येक परियोजना के लिए एक देव वातावरण है। –

0

मैंने विभिन्न विधियों का उपयोग किया है।

i) आप केवल एक जीवित कनेक्शन स्ट्रिंग को बनाए रखने और डेवलपर्स प्रासंगिक मॉड्यूल में संशोधन करने और कभी नहीं में यह जाँच करें।

ii) एक app.config कनेक्शन तार के साथ बनाए रखा जाता है और यह रूप में एक साझा फ़ाइल है जहां तक ​​स्रोत नियंत्रण का संबंध है।

iii) डीबग कॉन्फ़िगरेशन में, कनेक्शन स्ट्रिंग विवरण आईडीई से कमांड लाइन में पास किए जाते हैं।

1

हमारे पास एक परीक्षण डेटाबेस है जो अपने सर्वर पर चलता है। यह केवल परीक्षण डेटा है जो वास्तव में हर रात लाइव सर्वर से दोहराया जाता है। सभी डेवलपर इसका परीक्षण करने के लिए उपयोग करते हैं। यह सही डेटा है लेकिन यह महत्वपूर्ण नहीं है क्योंकि यह एक दिन पुराना है। हम निश्चित रूप से web.config में कनेक्शन स्ट्रिंग स्टोर करते हैं। मेरे पास web.config से कनेक्शन स्ट्रिंग प्राप्त करने के लिए एक फ़ंक्शन है और मैं बस देखता हूं कि यह स्थानीयहोस्ट परीक्षण कनेक्शन स्ट्रिंग को वापस कर देता है या नहीं। यदि नहीं तो लाइव कनेक्शन स्ट्रिंग वापस करें। यह हमारे लिए काम करता है। और हम सिर्फ स्थानीय डेटाबेस का उपयोग नहीं करते हैं।

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