2012-03-01 13 views
10

"फ़ाइल C: \ Users \ John \ दस्तावेज़ \ Visual Studio 2010 \ Projects \ PAS \ PAS \ bin \ Debug // PatAddSys के लिए एक स्वत: नामित डेटाबेस संलग्न करने का प्रयास .mdf विफल। एक ही नाम वाला डेटाबेस मौजूद है, या निर्दिष्ट फ़ाइल खोला नहीं जा सकता है, या यह यूएनसी शेयर पर स्थित है। "एक ऑटो-नामित डेटाबेस संलग्न करने का प्रयास त्रुटि

क्या गलत है? मैं अपने पथ के लिए सही कोड है (मुझे लगता है कि), लेकिन अब भी यह संदेश यहां होता है मेरी डेटाबेस पथ

private string dbPath = Application.StartupPath + "//PatAddSys.mdf"; 

यहाँ है मेरे डाटाबेस के स्थान

enter image description here

उत्तर

12

उपयोगकर्ता उदाहरण संपत्ति सेट करने का प्रयास है अपने कनेक्शन स्ट्रिंग में सच है। आप अपने कनेक्शन स्ट्रिंग को यह जोड़ने की जरूरत:

User Instance=True 

इसके अलावा बस फिर अपने डेटाबेस सर्वर यकीन है कि जांच होने के लिए के रूप में यह पहले से ही एक ही नाम के साथ एक डेटाबेस हो सकता है।

उम्मीद है कि मदद करता है।

-3

उपयोग करें:

Path.GetFullPath(yourpath_string) 

यह

+0

करने के लिए अपने कनेक्शन स्ट्रिंग को बदलने मुझे यकीन है कि यह उत्तर देता है नहीं कर रहा हूँ प्रश्न .... –

+0

मेरे लिए हाँ, और यह अर्थहीन एक समान जवाब है – Luf

1

मैं इसे बहुत बहुत देर हो सकता है लगता है, लेकिन

इस स्ट्रिंग काम करेंगे मेरे ऊपर त्रुटि

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=Database\MabErp2.mdf;Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 

लेकिन अगर देना जोड़ें | डेटा निर्देशिका | डेटाबेस नाम से पहले यह ठीक काम करता है

<add name="MAB_ERP_2_0.Properties.Settings.MyConnection" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database\MabErp2.mdf;Integrated Security=true;" 
     providerName="System.Data.SqlClient" /> 
0

भविष्य सहायता के लिए !!

आप इसे सही कर लेने पर:

private string dbPath = Application.StartupPath + "//PatAddSys.mdf"; 

लेकिन सिर्फ SLASH के बजाय एक कदम बैकस्लैश उपयोग करने के लिए है करने के लिए "\" है "/" ​​ इसलिए यह इस तरह बनना चाहिए:

private string dbPath = Application.StartupPath + "\\PatAddSys.mdf"; 

& धन्यवाद इस लाइन मुझे काम :)

2

बदलें दोनों वर्तमान में काम कर रहे के बहुत बचाया एनजी निर्देशिका और इसे हल करने के लिए सही लोगों को कनेक्शन स्ट्रिंग।

"सर्वर एक्सप्लोरर" में स्थित डेटाबेस का चयन करें, फिर कनेक्शन स्ट्रिंग को अपनी गुणों में बिल्कुल देखकर कॉपी करें, फिर कोड में इसका उपयोग करें।

enter image description here

तो वर्तमान कार्यशील निर्देशिका के लिए डेटाबेस के नाम के बिना एक ही पथ का उपयोग करें। समाधान -> गुण -> डीबग वह जगह है जहां वर्तमान कार्यशील निर्देशिका पथ स्थित है। यह विजुअल स्टूडियो 2015 के लिए काम करता है।

मैं इस

Private constr As String = "Data Source = (LocalDB)\MSSQLLocalDB;AttachDbFilename=" + 
     Directory.GetCurrentDirectory() + "\DBNAME.mdf;" + 
     "Integrated Security=True;Connect Timeout=30;User Instance=False" 
0

वास्तव में मैं इस समस्या का दुर्घटनाग्रस्त हो गया है के रूप में अपने कनेक्शन स्ट्रिंग का उपयोग लेकिन मैं इसे आसानी से संभाला। यदि आपका कनेक्शन स्ट्रिंग

connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;" 

है आप अपने खुद के localDB बनाने की जरूरत है। पहले जाने शीघ्र आदेश से लिखना

sqllocaldb create MyDatabase 

से वी.एस. में लौटने से अपने डेटाबेस

sqllocaldb start MyDatabase 

शुरू करने और

connectionString="Data Source=(LocalDB)\MyDatabase;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;" 
संबंधित मुद्दे

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