sql - Accessing data from another database in stored procedure -


निम्नलिखित मेरी स्कीमा विस्तार है:

  • DB_A: schema_1, schema_2, schema_3
  • DB_B: schema_3

schema_3 एक्सेस संसाधनों (तालिका, दृश्य, एसपी) में schema_1 और schema_2 से कुछ प्रक्रियाएं।

schema_3 में सभी प्रक्रियाएं समान हैं दोनों डीबीएस मैं दोनों डीबीएस के लिए स्कीमा के लिए स्कीमा 1 से कैसे प्राप्त करूं?

अब मैं अपनी प्रक्रियाओं में हार्ड कोड डीबी_ए कर सकता हूं, लेकिन जब मैं कोड को क्लाइंट मशीन में ले जाता हूं, तब से यह एक समस्या पैदा करेगा डीबी_ए समान नहीं हो सकता (एक ऐसा कारण जिसके कारण ग्राहक होने वाला है और एक ही मशीन पर क्यूए, देव और प्रॉड होने वाला है)।

दूसरा विकल्प एक पैरामीटर के रूप में डीबी_ए नाम मिल रहा है, लेकिन यह सभी स्कीमा एसपी गतिशील (जैसा कि मुझे @ डीबीएनएएमएएम.ए.एस.एम.ए..रेसरसोर्सनाम) जैसे कुछ तक पहुंचने के लिए कोई भी तरीका नहीं मिला।

तीसरा विकल्प लिंक किए गए सर्वरों का निर्माण कर रहा है, जो कि पहली बार एक ही कारण के कारण मेरी समस्या का समाधान नहीं करता है

कोई भी विचार कैसे आगे बढ़ना है, जहां मैं अपनी प्रक्रियाओं को गतिशील नहीं बनाना चाहता हूँ क्योंकि उनमें से 80% सीधे हैं।

आरंभ करें:

मैं इसे पुनर्स्थापित कर सकता हूं क्योंकि मेरे पास संसाधनों (तालिका / दृश्य / स्कीमा) वाले एक डेटाबेस के साथ कई डेटाबेस हैं, जिन्हें साझा करने की आवश्यकता है और फिर अन्य डेटाबेस (एक या अधिक) होने पर जो प्रक्रियाओं को साझा करते हुए साझा डेटा की गणना करते हैं एनाबेस और स्व डेटाबेस।

साझा वातावरण का नाम सभी वातावरण पर निरंतर नहीं होने जा रहा है और मैं उन्हें बदलना चाहता हूं (पर्यावरण विशिष्ट)। मैं एक समाधान के साथ आया हूं जहां मैं सभी साझा संसाधनों के लिए समानार्थक निर्माण करूँगा और सभी प्रक्रियाएं उनका उपयोग कर रही हैं, इस तरह वे सभी पहले संसाधनों से साझा संसाधनों का जिक्र कर रहे हैं।

प्रत्येक स्थापना के लिए I सही शेयर डेटाबेस नाम को प्रतिबिंबित करने के लिए समानार्थक परिभाषा को संशोधित करने की आवश्यकता है डेटाबेस नाम के लिए कोई ऐसा कोई तरीका है, इस तरह से मुझे संभाल करने के लिए कम समानार्थी शब्द मिलेंगे।

आप चला सकते हैं DB_A में आपकी प्रक्रिया और DB_A से DB_B :

  दृश्य देखें dbo.vw_B_Schema_3 बनाओ DB_B.dbo.Schema_3  

से चुनें * आपको दृश्य (देव, क्यूए, प्रॉड।) के तीन संस्करण बनाना होगा, लेकिन दृश्य केवल एकमात्र अंतर होगा: प्रक्रिया परिभाषाएं समान रहें।


Comments