.NET के लिए एम्बेडेड डेटाबेस जो नेटवर्क को चला सकता है

मैं (और अभी भी) एक .net (c #) अनुप्रयोग में उपयोग किए जाने वाले एम्बेडेड डेटाबेस की तलाश में था। चेतावनी: एप्लिकेशन (या कम से कम डेटाबेस) को नेटवर्क ड्राइव पर संग्रहीत किया जाता है, लेकिन एक समय में केवल 1 उपयोगकर्ता द्वारा उपयोग किया जाता है।

अब, मेरा पहला विचार SQL सर्वर कॉम्पैक्ट संस्करण था। यह वास्तव में अच्छी तरह से अभिन्न है, लेकिन यह नेटवर्क को नहीं चला सकता है।

Firebird seems to have the same issue, but the .net Integration seems to be not really first-class and is largely undocumented.

Blackfish SQL looks interesting, but there is no trial of the .net Version. Pricing is also OK.

किसी भी अन्य सुझाव जो कि .net और के साथ अच्छी तरह से काम करता है, वास्तव में किसी सर्वर सॉफ़्टवेयर को स्थापित करने की आवश्यकता के बिना नेटवर्क चलाता है?

0
जोड़ा संपादित
विचारों: 1
दिलचस्प है कि इस पोस्ट को मेरी पोस्ट के विपरीत "राय आधारित" नहीं माना जाता है stackoverflow.com/questions/20229964/… । वैसे भी - मुझे लगता है कि सभी प्रस्तावित एम्बेडेड डेटाबेस सर्वर पर एक उपयोगकर्ता (एसक्यूएल सीई सहित) के लिए काम करते हैं, उनमें से कुछ समवर्ती पठन (जैसे SQLite) की अनुमति देते हैं, लेकिन केवल एक (कम से कम केवल एक ही मैंने पाया है और परीक्षण किया है
जोड़ा लेखक Prokurors, स्रोत

9 उत्तर

VistaDB देखें। उनके पास बहुत अच्छा उत्पाद है, सर्वर संस्करण (3.4) बीटा में है और रिलीज के बहुत करीब है।

0
जोड़ा

वैलेंटाइना भी है। जब मैं कुछ रियल बेसिक प्रोजेक्ट पर काम कर रहा था तो मैं इस उत्पाद में कैम लगाता हूं। आरबी संस्करण बहुत अच्छा है।

0
जोड़ा

ऐसा लगता है जैसे एडीओ / एक्सेस आपकी आवश्यकताओं के लिए बिल्कुल सही है। यह एमएस स्टैक, अच्छी तरह से अनुभवी, और बहु ​​उपयोगकर्ता में बेक्ड है।

आप प्रोग्रामिक रूप से एक डीबी बना सकते हैं जैसे:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

फिर आप डेटाबेस के साथ बातचीत करने के लिए मानक ADO.NET विधियों का उपयोग कर सकते हैं।

0
जोड़ा

आप एम्बेडेड फायरबर्ड का उपयोग कर सकते हैं, यह केवल एक डीएल है जिसे आपको अपने ऐप के साथ शिप करने की आवश्यकता होगी।

अनियंत्रित होने के बारे में, यह वास्तव में सच नहीं है, फ़ायरबर्ड .NET ड्राइवर एडीओ इंटरफेस लागू करता है, इसलिए यदि आप एडीओ जानते हैं तो आप फायरबर्ड के साथ काम कर सकते हैं, मूल रूप से SQLConnection के बजाय आप एफबीसी कनेक्शन का उपयोग करेंगे और इसी तरह मेरी सलाह है कि डेटा एक्सेस लेयर और अपने कोड पर इंटरफेस का उपयोग करें, ऐसा कुछ:

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

यह उदाहरण बहुत आसान है, लेकिन आपको उससे ज्यादा की आवश्यकता नहीं होगी।

हम बिना किसी समस्या के हमारे सभी आवेदनों के लिए फायरबर्ड का उपयोग करते हैं, आपको कम से कम इसे आज़माएं।

0
जोड़ा

मैं चकरा गया हूं।

आप एक एम्बेडेड डेटाबेस के लिए पूछ रहे हैं - जहां डेटाबेस स्वयं डेटाबेस पर संग्रहीत है। जो नेटवर्क शेयर पर डेटा फ़ाइल को संग्रहीत करने के लिए अनुवाद करता है। फिर आप कहते हैं कि एसक्यूएल कॉम्पैक्ट संस्करण काम नहीं करेगा ... सिवाय इसके कि अगर कोई इस दस्तावेज़ को देखता है:

Word Document:
Choosing Between SQL Server 2005 Compact Edition and SQL Server 2005 Express Edition

पृष्ठ 8 पर आपके पास "नेटवर्क साझाकरण पर डेटा फ़ाइल संग्रहण" के बगल में एक अच्छी बड़ी हरी टिक है।

तो मुझे ऐसा लगता है कि आपका पहला विचार सही था।

0
जोड़ा
यह मजाकिया है, क्योंकि SQL सर्वर विशेष रूप से मुझे बताता है कि यह नहीं होगा: img512.imageshack.us/ img512 / 6082 / sqlceerror.jpg - शायद यह एक गलतफहमी है, क्योंकि निर्माण संभव नहीं है, जबकि पहुंच काम कर सकती है। हालांकि, मेरे उद्देश्यों के लिए, एप्लिकेशन लॉन्च पर डेटाबेस बनाना महत्वपूर्ण था।
जोड़ा लेखक Michael Stum, स्रोत
रियलिटी लगभग हर मामले में प्रलेखन को टंप करता है - प्रश्न तब उठता है कि दस्तावेज़ "गलत" चीज़ क्यों कहते हैं (या कम से कम विसंगति कैसे उत्पन्न होती है)। [एफएक्स: ब्राउज़ करें, ब्राउज़ करें] एमएसडीएन में जमीन पर जानकारी काफी पतली है
जोड़ा लेखक Murph, स्रोत
जेसन, कठोर होने की इच्छा के बिना, उस टिप्पणी का लगभग आधा गलत है क्योंकि हम किसी भी बिंदु पर एक बहु-उपयोगकर्ता सर्वर संस्करण के बारे में बात नहीं कर रहे हैं, केवल कॉम्पैक्ट संस्करण जो मूल रूप से एक डीएलएल (एक्सप्रेस या अन्य "सर्वर के विपरीत) "संस्करण)।
जोड़ा लेखक Murph, स्रोत
आप कर सकते हैं नेटवर्क डेटाबेस पर SQL सर्वर में अपना डेटाबेस संग्रहीत करते हैं, लेकिन केवल 1 SQL सर्वर इसका उपयोग कर सकता है। और फिर आप संलग्न मोड में चल रहे हैं जो गंदगी से धीमी है। सिर्फ इसलिए कि आप इसका मतलब यह नहीं कर सकते कि आपको चाहिए। वह सर्वर ऐप के माध्यम से सीधे नहीं, प्रत्येक ऐप को डेटाबेस तक पहुंचने के बारे में पूछ रहा था।
जोड़ा लेखक Jason Short, स्रोत

क्या आपने ओओडीबी माना है? विभिन्न खुले स्रोत विकल्पों से मैं db4o (स्वयं पदोन्नति के लिए खेद है :)) को अनुशंसा करता हूं जो या तो एम्बेडेड या चला सकता है क्लाइंट / सर्वर मोड में।

श्रेष्ठ

एड्रियानो

0
जोड़ा

SQLite came to my mind while reading your question, and I'm quite sure that it's possible to access it from a network drive if you keep yourself to the constraint of 1 user at a time.

.NET पर SQLite - प्राप्त करें ऊपर और 3 मिनट में चल रहा है

0
जोड़ा
मैंने पिछले हफ्तों के दौरान इसका परीक्षण किया है, और SQLite वास्तव में एक अच्छा उत्पाद है। यह निश्चित रूप से आरडीबीएमएस का एक पूर्ण स्वाद नहीं है, लेकिन इसमें नौकरी पाने के लिए आवश्यक सभी सुविधाएं हैं।
जोड़ा लेखक Michael Stum, स्रोत
@ChrisHanson यह एक ही समय में एकाधिक उपयोगकर्ताओं के लिए केवल पढ़ने की अनुमति देता है
जोड़ा लेखक Prokurors, स्रोत
@Sven: SQLite वास्तव में बल्कि व्यापक फ़ाइल लॉकिंग है, और SQLite डेटाबेस को एक ही समय में एकाधिक उपयोगकर्ताओं द्वारा निश्चित रूप से एक्सेस किया जा सकता है। फाइल सिस्टम पर इसका समर्थन करने पर, SQLite एक ही डेटाबेस के एकाधिक एक साथ उपयोग के प्रदर्शन को बेहतर बनाने के लिए पूरे-फ़ाइल लॉकिंग के बजाय बाइट-रेंज का उपयोग करेगा। यह एक्सेस नहीं है; यह बहुत मजबूत है।
जोड़ा लेखक Chris Hanson, स्रोत

मैं एडवांटेज डेटाबेस सर्वर (www.advantagedatabase.com) की सिफारिश करता हूं। यह एक परिपक्व एम्बेडेड डीबी है जो महान समर्थन और .NET के अलावा कई विकास भाषाओं से सुलभ है। "स्थानीय" संस्करण मुफ़्त है, आपके आवेदन के भीतर एक डीएलएल के रूप में चलता है, सर्वर / नेटवर्क शेयर पर कोई इंस्टॉलेशन की आवश्यकता नहीं होती है, और सभी प्रमुख डीबी सुविधाओं का समर्थन करता है। आप नेटवर्क पर डीबी और / या एप्लिकेशन फ़ाइलों को स्टोर कर सकते हैं; यह परवाह नहीं करता कि डेटा कहां है।

Disclaimer: I am an engineer in the ADS R&D group. I promise, it rocks :)

0
जोड़ा

यहां पोस्ट के लिए थोड़ा देर हो चुकी है .. और VistaDB का पहले से ही उल्लेख किया गया है, लेकिन मैं यह इंगित करना चाहता था कि VistaDB 100% प्रबंधित है (चूंकि आपकी पोस्ट को टैग किया गया था .net)। यह एक साझा नेटवर्क ड्राइव से चलाया जा सकता है, और 1 एमबी xcopy तैनात है।

चूंकि आप एसक्यूएल सीई का उल्लेख करते हैं, हम टी-एसक्यूएल सिंटेक्स और डेटाटाइप (वास्तव में एसक्यूएल सीई से अधिक) का भी समर्थन करते हैं और एसक्यूएल सीई में अपडेट करने योग्य दृश्य, टीएसक्यूएल प्रो और अन्य चीजें गायब हैं।

0
जोड़ा
Vista (दूसरों की तुलना में) के बारे में एक और अच्छी बात यह है कि यह नेटवर्क फ़ाइल पर स्थित डेटाबेस फ़ाइल के लिए समवर्ती लिखने का समर्थन करता है - मेरे लिए यह निर्णय लेने की सुविधा थी
जोड़ा लेखक Prokurors, स्रोत