2012-04-28 9 views
17

मैंने SQL सर्वर द्वारा .mdf फ़ाइल बनाई और उसे स्थानीय फ़ाइल में डाल दिया। मैं अपने प्रोग्राम को ऐसे कंप्यूटर में चलाता हूं जिसमें कोई SQL सर्वर स्थापित नहीं है। और यह भी मैं System.Data.SqlClient नाम स्थान से कक्षाओं का इस्तेमाल किया है (यानी SqlConnection ..)SQL सर्वर के बिना .mdf डेटाबेस तक पहुंच बनाना संभव है?

मैं एसक्यूएल सर्वर द्वारा बनाया गया था जो .mdf फ़ाइल के साथ किसी तरह का उपयोग कर सकते कनेक्शन बनाने के लिए करना चाहते हैं? क्या यह संभव है ?

+0

कुछ आसान तीसरे पक्ष आप एसक्यूएल सर्वर http://www.mdfviewer.com/ बिना mdf फ़ाइल को देखने के –

उत्तर

21

मुझे नहीं लगता कि SQL सर्वर इंजन के बिना किसी एमडीएफ फ़ाइल के साथ बातचीत करना संभव है। आप संभवतः SQL सर्वर एक्सप्रेस स्थापित करेंगे (जो एक विकल्प होना चाहिए यदि आप विजुअल स्टूडियो के लिए प्रोग्राम जोड़ें/निकालें के माध्यम से जाना चुनते हैं, या आप download it separately from here - this is the 2008 R2 With Tools option कर सकते हैं), अपना डेटाबेस संलग्न करें और फिर अपने प्रोग्राम से उस इंजन से कनेक्ट करें।

कई ट्यूटोरियल ऑनलाइन सुझाव देंगे कि आप User Instances सुविधा और AttachDbFileName का उपयोग करें। मेरा सुझाव है कि आप उस मार्ग पर जाएं क्योंकि यह अक्सर भ्रम की ओर जाता है - कई, कई उपयोगकर्ता प्रबंधन स्टूडियो के माध्यम से डेटाबेस के एक उदाहरण से कनेक्ट होते हैं, उनके कार्यक्रम से एक अलग उदाहरण, और तब समझ में नहीं आता कि कोई क्यों नहीं करता है ' दूसरे द्वारा किए गए अपडेट देखें। User Instances सुविधाओं को बहिष्कृत किया गया है और मैं अत्यधिक उदाहरण के लिए डेटाबेस को अटैचमेंट करना पसंद करता हूं।

SQL सर्वर 2012 में आप नया SqlLocalDb रनटाइम (you want either the x86 or x64 SqlLocalDB.MSI file from here) डाउनलोड कर सकते हैं, जो इस प्रक्रिया को अधिक आसान बनाता है, क्योंकि यह ऑन-डिमांड ऑन-डिमांड SQL सर्वर इंजन है। हालांकि ध्यान दें कि आपका डेटाबेस नए 11.0 फ़ाइल प्रारूप में अपग्रेड कर दिया जाएगा, जिसका अर्थ है कि आप किसी पुराने संस्करण (2008, 2008 आर 2, आदि) को अलग/संलग्न या बैकअप/पुनर्स्थापित करने में सक्षम नहीं होंगे। मैंने कई troubleshooting techniques for new users starting with SqlLocalDb here जोड़े।

+0

आप अपने जवाब हारून के लिए बहुत बहुत धन्यवाद में मदद मिलेगी उपलब्ध उपकरण हैं। यह बहुत उपयोगी – unbalanced

+0

वास्तव में आप https://www.microsoft.com/en-us/download/details.aspx?id=23650 को स्थापित करने के लिए कह रहे हैं जो प्रबंधन स्टूडियो के साथ है और 240 एमबी है क्या कोई समाधान उपलब्ध है जो हम नहीं करते हैं प्रबंधन स्टूडियो स्थापित करें और तैनाती के दौरान केवल अपनी सेवाओं या उदाहरण को स्थापित करें, जबकि एक –

2

आपको एमडीएफ से कनेक्ट करने के लिए एसक्यूएल की आवश्यकता है। आप इसे एक एसडीएफ में परिवर्तित कर सकते हैं और कॉम्पैक्ट संस्करण (फ्री) लोड कर सकते हैं। http://msdn.microsoft.com/en-us/data/ff687142

+1

ध्यान दें कि कॉम्पैक्ट में कनवर्ट करना केवल तभी काम करेगा जब आपका डेटाबेस कॉम्पैक्ट संस्करण में समर्थित किसी भी सुविधा या वाक्यविन्यास का उपयोग नहीं करता है। एक्सप्रेस (मुक्त भी) एक सुरक्षित सिफारिश नहीं होगी? यह "एम्बेडेड" के रूप में नहीं है लेकिन यह समस्याग्रस्त होने की संभावना कम है। –

+0

और एसक्यूएल कक्षाओं का उपयोग करना संभव है? या मुझे सी # में oledbd कक्षाओं का उपयोग करना है? – unbalanced

+0

एक्सप्रेस के साथ आपको sqloledb का उपयोग करने की आवश्यकता नहीं है।मैं कॉम्पैक्ट संस्करण में काफी अच्छी तरह से नहीं जानता हूं कि यह पता लगाने के लिए कि बातचीत कैसे भिन्न होती है, मुझे पता है कि फ़ाइल प्रारूप और फीचर सेट बहुत अलग हैं। –

5

आप OrcaMDF का उपयोग करने का प्रयास कर सकते हैं जो एक ओपन-सोर्स प्रोजेक्ट है।

OrcaMDF क्या है?

एमडीएफ फाइलों के लिए सी # पार्सर। आपको एमडीएफ फाइलों से तालिकाओं, मेटाडाटा और इंडेक्स पढ़ने की अनुमति देता है, बिना किसी SQL Serverसर्वर उदाहरण से जुड़ा हुआ है।

(यह विवरण प्रोजेक्ट के पृष्ठ से लिया गया है)।

Author's blog

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