2012-02-03 13 views
10

मैं एक दृश्य स्टूडियो 2010 में परियोजनाSQL सर्वर एक्सप्रेस संस्करण को स्थापित किए बिना विजुअल स्टूडियो में SQL सर्वर डेटाबेस फ़ाइल (.mdf) को कैसे जोड़ें?

एसक्यूएल सर्वर डेटाबेस फ़ाइलों को कनेक्शन (.mdf) की आवश्यकता होती है एसक्यूएल सर्वर 2005 एक्सप्रेस या SQL सर्वर 2008 एक्सप्रेस के लिए एक .mdf फ़ाइल (एसक्यूएल सर्वर डाटाबेस) जोड़ने नीचे एक त्रुटि है स्थापित किया है और पर स्थानीय कंप्यूटर चलाना

मैं SQL सर्वर एक्सप्रेस (2005/2008) स्थापित करने के लिए नहीं करना चाहती क्योंकि मैं पहले से ही SQL सर्वर 2005 एंटरप्राइज़ संस्करण

स्थापित किया है

मैं विजुअल स्टूडियो 2010 अल्टीमेट

+0

इस सवाल से पहले कहा गया है कोड का उपयोग कर सकते हैं, http://stackoverflow.com/questions/4650183/problem-with-creating-mdf-file- देखना से-विज़ुअल-स्टूडियो -2010 – rfcdejong

+1

* * .mdf' फ़ाइल संलग्न करें * विकल्प केवल SQL सर्वर के ** एक्सप्रेस ** संस्करणों में उपलब्ध है - अन्य सभी (वेब, मानक, एंटरप्राइज़) ** नहीं ** इस विकल्प का समर्थन करें। यदि आपके पास SQL ​​सर्वर का पूर्ण संस्करण है, तो आपको सर्वर पर डेटाबेस बनाना होगा, और फिर सर्वर कनेक्शन स्ट्रिंग –

+0

@marc_s का उपयोग करके उससे कनेक्ट करना होगा यह उत्तर है !!! मैं यह देखने का प्रयास कर रहा हूं कि क्यों SQL सर्वर का मेरा लाइसेंस प्राप्त संस्करण * विजुअल स्टूडियो द्वारा * आश्चर्यचकित * हो रहा है और एसक्यूएल एक्सप्रेस की मांग है ... इसलिए मेरे लिए समाधान 'कॉन स्ट्रिंग' के माध्यम से कनेक्ट करना है ... धन्यवाद समर्थक। – bonCodigo

उत्तर

10

का उपयोग कर रहा हूं यह वास्तव में एक परेशान है। असल में, फ्रेमवर्क के संस्करण के लिए Machine.config में आप विकास कर रहे हैं, स्थानीय SQL सर्वर के लिए एक प्रविष्टि है।

मेरी मशीन पर, 4 संस्करण के लिए:

C: \ Windows \ Microsoft.NET \ v4.0.30319 \ \ फ्रेमवर्क कॉन्फ़िग \ Machine.config

<add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> 

मैंने पाया है कि अगर मैं बदल मेरे एसक्यूएल 2005 पूर्ण सर्वर उदाहरण पर इंगित करने के लिए कनेक्शन स्ट्रिंग का डेटा स्रोत भाग, तो आपके द्वारा उल्लिखित त्रुटि दूर हो गई।

मैं अगर मैं इससे पहले कि मैं देखा परिवर्तन काम सिर्फ दृश्य स्टूडियो या पूरे मशीन को पुनः आरंभ करने के लिए आवश्यक याद नहीं कर सकते (ढांचे के अन्य संस्करणों है, जो मैं भी बदल के लिए इसी तरह)।

उन्हें संपादित करने से पहले अपनी machine.config फ़ाइलों का बैक अप लेना याद रखें!

ऐसा कहा जा रहा है कि एसक्यूएल सर्वर में डेटाबेस भी नहीं जोड़ सकता है (यदि आपके पास एमडीएफ है) तो दृश्य दृश्य स्टूडियो से व्यू -> सर्वर एक्सप्लोरर -> डेटा कनेक्शन के माध्यम से कनेक्ट करें (राइट क्लिक -> कनेक्शन जोड़ें) - क्या आपने कोशिश की है?

+0

आपके उत्तर के लिए सबसे पहले धन्यवाद। अगर मैं अपने पीसी पर विकसित अन्य पीसी पर अपना विकसित एप्लिकेशन चलाता हूं तो एमडीएफ फ़ाइल को पुनर्स्थापित या संलग्न नहीं करना चाहता हूं। अगर आप वेबसाइट से नमूना कोड डाउनलोड करते हैं तो कुछ लोगों के लिए यह कॉन्फ़िगर करने के लिए परेशान है अनुप्रयोग (मतलब डीबी बहाल या एमडीएफ फ़ाइल संलग्न करें और कनेक्शन स्ट्रिंग आदि कॉन्फ़िगर करें) – Ali

+0

यह सब निर्भर करता है - आप तर्क दे सकते हैं कि उन एमडीएफ फाइलें आपकी परियोजना की निर्भरता हैं, और, किसी भी निर्भरता की तरह, आपको उन्हें किसी भी तरह से शामिल करना होगा। सौभाग्य! – dash

1

मुझे पता है कि यह पोस्ट थोड़ा पुराना है लेकिन मुझे एक ही समस्या का सामना करना पड़ा और मुझे वास्तव में एक समाधान मिला, इसलिए मैं इसे साझा करना चाहता हूं।

  1. स्थापित एसक्यूएल एक्सप्रेस 2008 R2
  2. दृश्य स्टूडियो 2010 में अपने डेटाबेस की आवृत्ति नाम के साथ Tools -> Options
  3. करें Database Tools -> Data Connections के पास जाकर अद्यतन Sql Server Instance Name (blank for default)
  4. फिर ⊞Win + आर और services.msc
  5. दबाने SQL Server (<instance name of express edition>) का चयन करें द्वारा सेवाओं के लिए जाना, राइट क्लिक करें और फिर चयन Properties
  6. सेवा के गुण विंडो में Log On टैब पर जाएँ और Local System account
  7. चयन

इन चरणों के बाद मैं दृश्य स्टूडियो 2010 में .mdf फ़ाइल जोड़ने में सक्षम था।

शायद दूसरे चरण से शुरू होने पर, एसक्यूएल सर्वर एक्सप्रेस स्थापित किए बिना इसे करने में सक्षम होना संभव है, लेकिन मैंने इसे आजमाया नहीं।

0

आप जोड़ना है कि अगर नहीं मौजूद

string curFile = @"C:\Dev\Test_data.mdf"; 
     if (!File.Exists(curFile)) 
     { 
      SqlConnection connection = new SqlConnection(@"server=(localdb)\v11.0"); 
      using (connection) 
      { 
       connection.Open(); 

       string sql = string.Format(@" 
            CREATE DATABASE 
             [Test] 
            ON PRIMARY (
             NAME=Test_data, 
             FILENAME = '{0}\Test_data.mdf' 
            ) 
            LOG ON (
             NAME=Test_log, 
             FILENAME = '{0}\Test_log.ldf' 
            )", 
        @"C:\Dev" 
       ); 

       SqlCommand command = new SqlCommand(sql, connection); 
       command.ExecuteNonQuery(); 
      } 
     } 
संबंधित मुद्दे