/ / विरासत अनुप्रयोग के लिए कौन सी डेटाबेस तकनीक का उपयोग करना है? - डेटाबेस, ado.net, odbc, oledb, विरासत

विरासत आवेदन के लिए उपयोग करने के लिए डेटाबेस डेटाबेस क्या? - डेटाबेस, ado.net, odbc, oledb, विरासत

मैं सलाह के लिए देख रहा हूँ। मुझे पता है कि स्टैकओवरफ़्लो "जवाबदेह" सवालों को पसंद करता है, मुझे उम्मीद है कि यह है।

मेरे पास एक विशाल एक मालिकाना का उपयोग कर विरासत (विंडोज) आवेदन(ISAM) डेटाबेस। मैं एक एसक्यूएल डेटाबेस का उपयोग करने के लिए इसे आगे बढ़ने की जांच करना चाहता हूं: मुख्य रूप से एमएस एसक्यूएल सर्वर, मैं ओरेकल लचीलेपन को ध्यान में नहीं रखूंगा, लेकिन यह केवल "अच्छा होगा" है, और शायद निर्णय को बहुत प्रभावित नहीं करना चाहिए।

आवेदन C / C ++ / MFC में लिखा गया है, नहीं कामयाब रहे। इस स्तर पर मैं एक प्रारंभिक समाधान के प्रयास को "प्रोटोटाइप" करने के लिए बहुत देख रहा हूं। मैं चाहूंगा कि यह बहुत जटिल न हो, इसे परिष्कृत किया जा सकता है यदि पूरी प्रक्रिया ऐसी दिखती है कि यह कहीं जा रहा है।

मेरे द्वारा देखे गए उम्मीदवार हैं:

  • ODBC
  • OLEDB
  • ADO.NET

जिसमें से मुझे लगता है कि मैंने सीखा है कि आजकल मैंODBC पर OLEDB पसंद करना चाहिए। मैं ADO.NET जानता हूँ, लेकिन दूसरों को नहीं। हालाँकि, ADO.NET को अनुप्रयोग से .NET / CLR / प्रबंधित कोड का उपयोग करने की आवश्यकता है, जो वर्तमान में नहीं है।

किस रास्ते के लिए कोई सलाह? प्रोटोटाइप गति / सादगी की सराहना की जाएगी, हालांकि स्पष्ट रूप से अगर मुझे पता है कि अंतिम समाधान के लिए एक अलग पहुंच विधि की आवश्यकता होगी, तो यह एक दूसरे के साथ शुरू करने के लिए मूर्खतापूर्ण हो सकता है। (मैं सराहना करूंगा कि पूरे आवेदन को फिर से डिज़ाइन / फिर से लिखने की सलाह नहीं दी जाएगी।)

उत्तर:

जवाब के लिए 3 № 1

जब तक आप प्रबंधित कोड में सब कुछ स्विच करने का इरादा नहीं रखते (जो काफी संभावना नहीं है) मैं ADO.NET का उपयोग नहीं करूंगा।

यह ODBC और OLEDB छोड़ देता है।

ODBC एक खुला मानक है, लेकिन OLEDB एक अधिक आधुनिक डिजाइन है। आपके कार्यक्रम को ध्यान में रखते हुए "विंडोज से कहीं भी जाने की संभावना है, मैं सुझाव दूंगा OLEDB।

ध्यान दें: इस निर्णय में आपके द्वारा उपयोग किए जाने वाले वास्तविक डेटाबेस में "ज्यादा मायने नहीं रखता है। उपरोक्त सभी में SQL सर्वर और Oracle (और अधिक सीमित सीमा तक Sybase, DB2, UDB, आदि) के लिए बहुत समर्थन है।


उत्तर № 2 के लिए 1

मैं ODBC की सिफारिश करूंगा क्योंकि इसमें काफी सरल एपीआई और ऑब्जेक्ट मॉडल है। OLEDB अधिक जटिल है और इसे सीखने की अवस्था की आवश्यकता है।

यदि आप स्क्रैच से पूर्ण री-राइट कर रहे हैं, तो मैं ADO.NET की अनुशंसा करता हूं, लेकिन एक विरासत माइग्रेशन के लिए, आप इसे सरल रखना चाहते हैं।