2010-11-17 16 views
10

मेरे पास विजुअल स्टूडियो में एमएस डाटाबेस परियोजना है - स्कीमा तुलना करने के बाद, मैं एक तैनाती स्क्रिप्ट उत्पन्न करने की कोशिश कर रहा हूं, समस्या यह है कि मुझे सैकड़ों अनसुलझा संदर्भ त्रुटियां मिलती हैं, निम्न दो के रूप में:माइक्रोसॉफ्ट विजुअल स्टूडियो एसक्यूएल डाटाबेस प्रोजेक्ट में अनसुलझा संदर्भ

Error 385 TSD03006: View: [auditing].[AuditedEntities] has an unresolved reference to object [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS]. D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql 4 14 greatProject.Database 
Error 387 TSD03006: View: [auditing].[AuditedEntities] contains an unresolved reference to an object. Either the object does not exist or the reference is ambiguous because it could refer to any of the following objects: [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[C]::[CONSTRAINT_NAME], [INFORMATION_SCHEMA].[REFERENTIAL_CONSTRAINTS].[CONSTRAINT_NAME] or [INFORMATION_SCHEMA].[TABLE_CONSTRAINTS].[C]::[CONSTRAINT_NAME]. D:\greatProject\Database\greatProject.Database\Schema Objects\Schemas\auditing\Views\AuditedEntities.view.sql 5 69 greatProject.Database 

SPROCS को चलाने पर कभी समस्या नहीं होती है। क्या इसे ठीक करने के लिए एक त्वरित और गंदा तरीका है? शायद यहां तक ​​कि संदर्भित अखंडता जांच को बंद कर भी?

उत्तर

11

मैंने इस त्रुटि को हल करने के लिए मास्टर डेटाबेस का संदर्भ जोड़ा है, जो निम्न चरणों के माध्यम से प्राप्त किया जा सकता है।

  1. अपने डेटाबेस परियोजना के तहत राइट क्लिक करें संदर्भ
  2. क्लिक करें Add Database Reference...
  3. `डाटाबेस परियोजना स्कीमा (.dbschema) रेडियो बटन
  4. सेल्सियस के लिए ब्राउज़ करें क्लिक करें: \ Program Files \ माइक्रोसॉफ्ट विजुअल स्टूडियो 9.0 \ VSTSDB \ एक्सटेंशन \ SqlServer \ 2008 \ DBSchemas \ master.dbschema

  5. ठीक क्लिक करें

निम्नलिखित प्रश्न संबंधित है। ASP.NET Schema Tables Causing Issues in VSTS

+2

यह उत्तर मेरे पर्यावरण (वीएस 2013) के लिए काम नहीं करता है; वर्णित पथ मौजूद नहीं था। Stakx द्वारा जवाब मेरे लिए काम किया। –

21

आपके डेटाबेस प्रोजेक्ट में master डेटाबेस का संदर्भ गुम है।

यह मानते हुए कि आप एक SQL Server Data Tools (SSDT) डेटाबेस परियोजना के बारे में बात कर रहे हैं, तो आप लापता संदर्भ के रूप में इस जोड़ सकते हैं:

  1. समाधान एक्सप्लोरर में, नोड संदर्भ पर संदर्भ मेनू खोलें और चयन डाटाबेस संदर्भ ... इसे से जोड़ें:

    Add database reference via Solution Explorer

  2. उद्घाटन संवाद विंडो के ऊपरी भाग में, सिस्टम डेटाबेस विकल्प का चयन करें और ड्रॉपडाउन सूची से master चुनें।

    Select the System database <code>master</code>

  3. अंत में, ठीक बटन दबाएँ। डेटाबेस संदर्भ अब आपके प्रोजेक्ट में जोड़ा जाना चाहिए।

+0

यह काम करता है। माइक्रोसॉफ्ट द्वारा वही उत्तर दिया गया है: https://connect.microsoft.com/SQLServer/feedback/details/787152/ssdt-intellisense-does-not-recognize-system-extended-procedures-like-sp-executesql-or -sp-xml-readyocument –

+0

क्या होगा यदि संदर्भ किसी अन्य मौजूदा डेटाबेस के लिए है जिसके समाधान के बाहर अपनी परियोजना है? यदि मैं एक .dacpac के रूप में संदर्भ जोड़ता हूं, तो क्या दूसरा डेटाबेस भी अपडेट किया जाएगा? – Muflix

+0

@ मुफ्लिक्स: मेरा सुझाव है कि आप इसे एक अलग प्रश्न के रूप में पोस्ट करें। – stakx