का उपयोग करके एक अलग नाम चुनें, मुझे एक समस्या मिली और एक ही समय में कुछ सीखा ....डेटाबेस पहले से मौजूद है। CreateDatabase()
मैंने मौजूदा सर्वर डेटाबेस से एक डीबीएमएल बनाया है।
डीबीएमएल से मैं स्थानीय डेटाबेस (एक। एमडीएफ फ़ाइल) बनाना चाहता था। मैंने डेटाबेस using DataContext.CreateDatabase("C:\xxxx.mdf")
बनाया।
तब मैं हटाने का निर्णय लिया (मैन्युअल, जो एक बुरी बात evidentally है), क्योंकि जब मैं एक ही नाम (eventhough फ़ाइलें नष्ट हो जाती हैं) के साथ डेटाबेस को पुन: करने की कोशिश, मैं पहले से ही त्रुटि डाटाबेस प्राप्त मौजूद हैं। CreateDatabase()
मैंने रजिस्ट्री को देखने की कोशिश की, कोई भाग्य नहीं ... मैंने फ़ाइल के लिए पूरी हार्ड ड्राइव खोजने की कोशिश की .. कोई भाग्य नहीं।
गुगलिंग के बाद, मैंने पाया कि आप CreateDatabase()
के साथ DeleteDatabase()
के साथ बनाया गया डेटाबेस हटाते हैं .... फिर आप डेटाबेस को दोबारा बना सकते हैं।
अच्छी समस्या यह है कि अब भी मैं पुराने डेटाबेस को फिर से नहीं बना सकता क्योंकि सिस्टम सोचता है कि नाम पहले से मौजूद है।
पुराने databse फ़ाइल के reminents से छुटकारा पाने के लिए एक रास्ता "मौजूद नहीं है"
जब आप नष्ट कर दिया इसे मैन्युअल रूप से आप दोनों mdf और एलडीएफ को नष्ट किया था:
आपकी अंतिम कनेक्शन स्ट्रिंग कुछ इस तरह देखना चाहिए? साथ ही, जब आप DeleteDatabase() को कॉल करते हैं तो आपको क्या त्रुटि मिलती है? –
जब मैं DeleteDatabase() को आज़माता हूं, तो मुझे यह मिलता है: ** System.Data.SqlClient.SqlException: फ़ाइल C: \ xxxx.mdf के लिए स्वत: नामित डेटाबेस संलग्न करने का प्रयास विफल हुआ। एक ही नाम वाला डेटाबेस मौजूद है, या निर्दिष्ट फ़ाइल खोला नहीं जा सकता है, या यह यूएनसी शेयर पर स्थित है .. ** –