2008-09-15 7 views
26

मैं डेटाबेस कार्यक्षमता के साथ एक WPF अनुप्रयोग का विस्तार करना चाहता हूं। आप कौन सा डेटाबेस इंजन सुझाएंगे और क्यों? SQLite, एसक्यूएल सीई, अन्य?WPF ऐप के साथ डेटाबेस कार्यक्षमता: SQLite, SQL CE, अन्य?

उत्तर

16

अनुप्रयोगों के उपयोग के आधार पर, मैं SQL लाइट का उपयोग करने की अनुशंसा करता हूं क्योंकि आपको किसी अन्य सॉफ़्टवेयर (SQL CE या Express, आदि को स्थापित करने की आवश्यकता नहीं होती है, आमतौर पर एक अलग इंस्टॉल की आवश्यकता होती है)।

इस पोस्ट के नीचे स्थित प्रदाता लिंक से एसक्यूएल लाइट के लिए सबसे महत्वपूर्ण लाभ की एक सूची:

SQLite एक छोटी सी सी पुस्तकालय कि एक आत्म निहित, एम्बेड करने योग्य, शून्य लागू करता है विन्यास एसक्यूएल डेटाबेस इंजन। विशेषताएं शामिल हैं:

  • शून्य-कॉन्फ़िगरेशन - कोई सेटअप या प्रशासन की आवश्यकता है।
  • SQL92 के अधिकांश कार्यान्वयन। (विशेषताएं समर्थित नहीं है)
  • एक पूर्ण डेटाबेस एकल डिस्क फ़ाइल में संग्रहीत है।
  • डाटाबेस फ़ाइलों को अलग-अलग बाइट ऑर्डर वाली मशीनों के बीच को स्वतंत्र रूप से साझा किया जा सकता है।
  • आकार में 2 टेराबाइट (2^41 बाइट्स) तक डेटाबेस का समर्थन करता है।
  • छोटे कोड पदचिह्न: (i486 पर जीसीसी) सी कोड के कम से कम 30K लाइनों, कम से कम 250kb कोड अंतरिक्ष
  • सबसे आम के संचालन के लिए लोकप्रिय क्लाइंट/सर्वर डेटाबेस इंजन की तुलना में तेजी से।
  • सरल, उपयोग करने में आसान एपीआई।
  • स्व-निहित: कोई बाहरी निर्भरताएं।
  • स्रोत सार्वजनिक डोमेन में हैं। किसी भी उद्देश्य के लिए उपयोग करें।

आप WPF का उपयोग कर रहे जब से मैं आप कम से कम .NET 3.0 का उपयोग कर रहे मान सकते हैं। इसके बाद मैं .NET 3.5 SP1 (.NET 3.5 के रूप में आकार का आकार, लेकिन प्रदर्शन सुधारों का एक समूह शामिल करने की अनुशंसा करता हूं) जिसमें LINQ शामिल है।

SQLite का उपयोग करते समय, हालांकि, आप निम्नलिखित SQLite प्रदाता जो LINQ समर्थन प्रदान करना चाहिए का उपयोग करना चाहते हैं: An open source ADO.NET provider for the SQLite database engine

+32

SQL सर्वर कॉम्पैक्ट संस्करण को एक अलग इंस्टॉल की आवश्यकता नहीं है। एसक्यूएल लाइट की तरह, वह डेटाबेस एक ही फाइल है। –

+3

प्रदर्शन परीक्षणों के अनुसार (http://www.codeproject.com/Articles/220131/Benchmarking-the-performance-of-embedded-DB-for-Ne) एसक्यूएल लाइट बिल्कुल तेज़ नहीं है! लोगों को गुमराह करने के लिए आपको सूची से बुलेट को हटा देना चाहिए। –

+0

'SQLite डेटाबेस इंजन' लिंक के लिए एक ओपन सोर्स ADO.NET प्रदाता, अब मौजूद नहीं है –

0

मैं सहमत होगा कि SQLite जाने का रास्ता है। सबसनिक 2.1 में अब SQLite समर्थन भी शामिल है।

2

SQLite वास्तव में एक अच्छा उत्पाद है हालांकि मुझे PostgreSQL से विशेषताओं को याद आती है। अन्य, विशेष रूप से गैर-एसक्यूएल, डेटाबेस हैं जिन्हें आप बर्कले डीबी जैसे विचार कर सकते हैं।

/एलन

9

बस एक भिन्न राय बाहर निकालने के लिए, हम पिछले साल के लिए एसक्यूएल कॉम्पैक्ट संस्करण का उपयोग किया गया है और आम तौर पर के साथ संतुष्ट किया गया है। कॉन्फ़िगरेशन केक है और यह एक नियमित एमएस एसक्यूएल डेटाबेस के समान व्यवहार करता है। चीजें गायब हैं, जैसे ट्रिगर्स और संग्रहीत प्रक्रियाएं, लेकिन एसक्यूएल 3।5 सीई में वस्तुतः बाकी सब कुछ है जो हमें चाहिए। यह स्थापित करने के लिए लगभग 2 एमबी। डीएलएस है। यह डेटाबेस एन्क्रिप्शन, लेनदेन, और वीएस के टाइप किए गए डेटासेट डिजाइनर का समर्थन करता है (3.1 में कुछ समस्याएं थीं, लेकिन सीई 3.5 बहुत बढ़िया है!)।

18

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

3

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

और अधिक, एसक्यूएल सीई निजी परिनियोजन का समर्थन करता है।

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