sql server - विज़ुअल स्टूडियो 2012 डाटाबेस प्रोजेक्ट के साथ परिपत्र संदर्भों से कैसे बचें



sql-server visual-studio-2012 (1)

मैं विजुअल स्टूडियो 2012 में डेटाबेस समाधान बनाने की कोशिश कर रहा हूं

मेरे पास 5 डेटाबेस हैं जो सभी एक ही सर्वर पर मौजूद हैं, इसलिए मैंने उनमें से प्रत्येक को एक डेटाबेस प्रोजेक्ट में आयात किया है।

दुर्भाग्य से डेटाबेस में काफी कुछ ऑब्जेक्ट हैं जो अन्य डेटाबेस में संदर्भ ऑब्जेक्ट्स हैं, इसलिए मैं इन डेटाबेस डेटाबेस संदर्भों को जोड़ने के लिए इन डेटाबेस डेटाबेस संदर्भों को जोड़ने के लिए इन क्रॉस डेटाबेस उदाहरणों को संदर्भित करने का प्रयास कर रहा हूं।

समस्या यह है कि मेरे पास डेटाबेस A को संदर्भित बी है और बी को संदर्भित A भी है, और यह मुझे इन दो संदर्भों को जोड़ने की अनुमति नहीं देगा मुझे संदेश बॉक्स मिलता है कि "इस प्रोजेक्ट को एक संदर्भ के रूप में जोड़ने से एक परिपत्र निर्भरता होगी"।

इसका समाधान करने के लिए दृष्टिकोण पर कोई विचार? मुझे लगता है कि प्रत्येक डेटाबेस के लिए एक उपाय तैयार करने का एक तरीका हो सकता है, लेकिन मैं नहीं चाहता कि अगर ऐसा करने का एक बेहतर तरीका हो।

हम एक स्वचालित बिल्ड सेट अप करने की कोशिश कर रहे हैं, इसलिए मुझे संकलित करने के लिए डेटाबेस प्रोजेक्ट की वास्तव में आवश्यकता है।


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

मैंने अपने ब्लॉग पर डेटाबेस संदर्भ जोड़कर लिखा है: http://schottsql.blogspot.com/2012/10/ssdt-external-database-references.html

एक अतिरिक्त नोट - यदि आप इन परियोजनाओं से नए डाटाबेस का निर्माण कर रहे हैं, तो आपको कई गुजरते हुए जाने की आवश्यकता होगी। लेन-देन के रूप में चलाने के लिए विकल्प बंद करें और जब कोई त्रुटि होती है तो असफल होने पर कुछ ऑब्जेक्ट बनाए जाएंगे, तब तक आवश्यकतानुसार दोहराएं जब तक कि सभी ऑब्जेक्ट बन जाए। मैंने "प्रोजेक्ट" नामक मेरी परियोजनाओं में एक चर का उपयोग किया था और "प्री" और पोस्ट को तैनात करने के लिए स्क्रिप्ट को "नया" के भिन्न रूप से व्यवस्थित करने के लिए सेट किया था, इसलिए यह "नया" बिल्ड के लिए किसी भी डेटा को पॉप्यूलेट करने / अपडेट करने का प्रयास नहीं करेगा।






database-project