2010-08-23 11 views
6

मैंने वीएस 2010 के भीतर एक नया SQL सर्वर डेटाबेस प्रोजेक्ट बनाया, डेटाबेस ऑब्जेक्ट्स और सेटिंग्स को "प्रबंधक" नामक स्थानीय डेटाबेस से आयात किया, और परियोजना बनाने के प्रयास में निम्न त्रुटि प्राप्त की:वीएस 2010 डाटाबेस प्रोजेक्ट - एसक्यूएल03006 त्रुटि

SQL03006: देखें:। [dbo] [vw_mlFunds] आपत्ति उठाने [प्रबंधकों] एक अनसुलझे संदर्भ [dbo] [mlfunds] है।।।

मुझे नहीं पता कि यह दृश्य वास्तविक डेटाबेस नाम को शामिल करने के लिए तालिका संदर्भ को पूरी तरह से योग्य क्यों कर रहा है और मैं एसक्यूएल को बदलना नहीं चाहता, क्योंकि यह किसी और का कोड है और यह तकनीकी रूप से गलत नहीं है। लेकिन मैं सोच रहा हूँ, क्योंकि यह [dbo] उम्मीद कर रही है कि, पूरी तरह से तालिका नाम योग्यता शामिल करने के लिए डेटाबेस के नाम वी.एस. संकलक भ्रमित है। [Mlfunds], नहीं [प्रबंधकों]। [Dbo]। [Mlfunds]। इस मुद्दे को हल करने के लिए सबसे अच्छा तरीका है? क्या मैं कहीं नया डेटाबेस नाम चर/उपनाम स्थापित कर सकता हूं? या मुझे इसे संकलित करने के लिए एसक्यूएल को दोबारा संशोधित/संशोधित करना होगा? अग्रिम में धन्यवाद।

उत्तर

5

वास्तव में, ऐसा लगता है कि कोड को संशोधित किया जा सकता है, के रूप में इस समर्थित नहीं है होगा। उत्तर इस पोस्ट में पाया:

Using local 3-part names in programmability objects

+0

आप इस ऊपर हुक और समझ नहीं सकता क्यों अपनी अपनी तुलना स्क्रिप्ट अभी भी बमबारी कर रहे हैं, प्रारंभिक "का चयन करें स्रोत/लक्ष्य स्कीमा" स्क्रीन में "SQLCMD चर" विकल्प तैयार करना न भूलें। – chprpipr

1

आप [प्रबंधकों] डेटाबेस के लिए एक और डेटाबेस प्रोजेक्ट बनाने के लिए की जरूरत है और अपनी परियोजना 'संदर्भ' अन्य परियोजना है। आप इसे [प्रबंधकों] डेटाबेस पर एक साधारण रिवर्स-इंजीनियर चरण के रूप में कर सकते हैं जो उस डेटाबेस में सभी ऑब्जेक्ट्स को एक नई वीएसडीबी प्रोजेक्ट में आयात करेगा। Using References in Database Projects देखें।

+0

तुम मेरे लिए यह स्पष्ट कर सके हल किया गया द्वारा पूरी तरह से योग्य संदर्भ संशोधित? मैं संदर्भ के लिए जरूरी हूं जब दोनों ऑब्जेक्ट्स (आधार तालिका और दृश्य) एक ही [प्रबंधक] डेटाबेस में रहते हैं। –

+1

मैंने सोचा [प्रबंधित] एक अलग डेटाबेस है। यदि दृश्य डेटाबेस नाम के साथ उत्तीर्ण स्पष्ट रूप से तालिका नाम उसके बाद दृश्य परिभाषा वजह से इस परियोजना के लिए एक अलग DB नाम के तहत तैनात किया जा सकता है, तकनीकी * गलत * है, और यहां तक ​​कि बाद तैनाती यह बहाल किया जा सकता/कॉपी किया/संबद्ध/स्नैपशॉट के तहत उन सभी परिदृश्यों में विभिन्न प्रकार के नाम और दृश्य अमान्य होंगे। –

+0

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

2

मैं एक परियोजना बनाने और डीबी आयात करने के बाद एक ही त्रुटि हो रही थी। मेरे लिए मुद्दा यह था कि तालिका संदर्भ से पूरी तरह से योग्य नाम शामिल था, लेकिन चयनित फ़ील्ड नहीं थे; इस प्रकार

SELEC l.UserID, l.Email, m.DOB, ... 
FROM ***[DBName].dbo***.Layout as l 
LEFT OUTER JOIN masterUs as m 

मैं दूर करने DBNAME और डीबीओ भाग और सभी त्रुटियों को

SELECT l.UserID, l.Email, m.DOB, .... 
FROM Layout as l 
LEFT OUTER JOIN masterUs as m 
संबंधित मुद्दे