2012-03-06 19 views
7

मेरे पास एक डेटाबेस है जिसमें कई डेटाबेस होते हैं जो मैं एकाधिक डेटाबेस में उपयोग करता हूं। इनमें से एक कार्य एक तालिका में एक पैरामीटर के रूप में लेता है जो एक उपयोगकर्ता परिभाषित प्रकार है। मैं जानना चाहता हूं कि इस फ़ंक्शन को किसी अन्य डेटाबेस से कॉल करने का कोई तरीका है या नहीं।उपयोगकर्ता परिभाषित TYPE डेटाबेस में

मैं प्रत्येक डेटाबेस के लिए प्रकार जोड़ने, और फिर एक गुजर की कोशिश की है

DECLARE @bits as Common.dbo.Bits 

हालांकि मुझे त्रुटि मिली भी कई उपसर्ग:

मैं तो जैसे अन्य डेटाबेस में प्रकार को परिभाषित करने की कोशिश की आम डेटाबेस में कार्य करने के लिए उस प्रकार के टेबल, लेकिन वहाँ मैं

ओपेरैंड प्रकार टकराव की कोई त्रुटि मिलती है: बिट्स बिट्स

के साथ असंगत है
+0

नहीं कर सकते हैं आप, अन्य डेटाबेस में सभी प्रकार की जरूरत बनाने के डाटाबेस पहले सेटअप प्रक्रिया के हिस्से के रूप? – vulkanino

+0

@ vulkanino मैं कर सकता हूं, लेकिन जैसा कि मैंने देखा है, वे एक ही प्रकार के नहीं हैं – Bauer

+0

यह लगभग मजाकिया है, लगभग एक साल बाद और मैं उसी त्रुटि में वापस आया। इस बार यह अलग-अलग स्कीमा – Bauer

उत्तर

6

आप नहीं कर सकते। भले ही आप दो डेटाबेस में समान रूप से प्रकार घोषित करते हैं, फिर भी उनका इलाज नहीं किया जाता है। और DECLARE कथन केवल एक स्कीमा नाम और ऑब्जेक्ट नाम की अनुमति है, इसलिए किसी अन्य डेटाबेस से किसी प्रकार का संदर्भ देने का कोई तरीका नहीं है।

भी कुछ संभव काम arounds के लिए this question देखें (आप दोनों डेटाबेस शामिल को नियंत्रित करता है, तो)

+2

दुर्भाग्य से यह वह जवाब नहीं है जिसे मैं सुनना चाहता था। धन्यवाद – Bauer

+0

@Damien_The_Unbeliever माइक्रोसॉफ्ट के इस अजीब बात नहीं है? यह कहने की तरह है कि सी # में आप किसी फ़ाइल से किसी वर्ग का उपयोग नहीं कर सकते हैं जब तक कि यह आपकी वर्तमान निर्देशिका के अंदर फ़ाइल पर न हो? – Kulingar

+0

@ कुलिंगर - यदि आप दो अलग-अलग विधानसभाओं में काम कर रहे हैं, और आप समान (पूर्ण) नामों और सदस्यों के साथ दो प्रकार बनाते हैं, तो भी आप एक दूसरे (सीधे) के लिए एक विकल्प नहीं बदल सकते हैं। –

5

Creating User-Defined Data Types के अनुसार:

उपयोगकर्ता-निर्धारित डेटा प्रकार मॉडल डेटाबेस में बनाया गया है तो यह सभी नए उपयोगकर्ता परिभाषित डेटाबेस में मौजूद है। हालांकि, यदि डेटा प्रकार उपयोगकर्ता द्वारा परिभाषित डेटाबेस में बनाया गया है, तो डेटा प्रकार केवल उपयोगकर्ता-परिभाषित डेटाबेस में मौजूद है।

+0

था जो मॉडल डेटाबेस के बारे में सच है, लेकिन मुझे नहीं लगता कि वे एक ही प्रकार हैं। इसके अलावा, मैं मौजूदा डेटाबेस के साथ काम कर रहा हूं। – Bauer

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