ODBC और OLE DB दो प्रतिस्पर्धी डेटा एक्सेस टेक्नोलॉजीज हैं। SQL सर्वर के बारे में विशेष रूप से, Microsoft ने दोनों को अपनी पसंदीदा भविष्य दिशा के रूप में प्रचारित किया है - हालांकि अलग-अलग समय पर।
ODBC
ODBC टेबल-जैसे डेटा तक पहुँचने के लिए एक उद्योग-व्यापी मानक इंटरफ़ेस है। यह मुख्य रूप से डेटाबेस के लिए विकसित किया गया था और रिकॉर्ड के संग्रह में डेटा प्रस्तुत करता है, जिनमें से प्रत्येक को खेतों के संग्रह में वर्गीकृत किया गया है। प्रत्येक क्षेत्र का अपना डेटा प्रकार होता है, जिसमें उस प्रकार का डेटा होता है, जिसमें वह होता है। प्रत्येक डेटाबेस विक्रेता (Microsoft, Oracle, Postgres,…) अपने डेटाबेस के लिए ODBC ड्राइवर की आपूर्ति करता है।
ऑब्जेक्ट के लिए ODBC ड्राइवर भी होते हैं, जो कि डेटाबेस टेबल नहीं होते हैं, पर्याप्त रूप से समान होते हैं कि उसी तरह डेटा तक पहुंच उपयोगी होती है। उदाहरण स्प्रेडशीट, सीएसवी फाइलें और स्तंभ रिपोर्ट हैं।
OLE DB
OLE DB डेटा तक पहुंच के लिए एक Microsoft तकनीक है। ODBC के विपरीत यह टेबल-जैसे और नॉन-टेबल-जैसे डेटा जैसे ईमेल मैसेज, वेब पेज, वर्ड डॉक्यूमेंट और फाइल डायरेक्टरी को शामिल करता है। हालांकि, यह ऑब्जेक्ट-ओरिएंटेड के बजाय प्रक्रिया-उन्मुख है और इसे एक कठिन इंटरफ़ेस माना जाता है जिसके साथ डेटा स्रोतों तक पहुंच विकसित करना है। इसे दूर करने के लिए, ADO को OLE DB के शीर्ष पर एक वस्तु-उन्मुख परत के रूप में और सरल और उच्च-स्तरीय प्रदान करने के लिए डिज़ाइन किया गया था - हालांकि अभी भी बहुत शक्तिशाली है - इसके साथ काम करने का तरीका। ADO का बहुत फायदा यह है कि आप इसका उपयोग उन संपत्तियों में हेरफेर करने के लिए कर सकते हैं जो किसी दिए गए प्रकार के डेटा स्रोत के लिए विशिष्ट हैं, जितनी आसानी से आप इसे उन गुणों तक पहुंचने के लिए उपयोग कर सकते हैं जो सभी डेटा स्रोत प्रकारों पर लागू होते हैं। आप कुछ असंतोषजनक न्यूनतम सामान्य भाजक तक सीमित नहीं हैं।
जबकि सभी डेटाबेस में ODBC ड्राइवर होते हैं, लेकिन उन सभी में OLE DB ड्राइवर नहीं होते हैं। हालाँकि, OLE और ODBC के बीच एक इंटरफ़ेस उपलब्ध है, जिसका उपयोग यदि आप OLE DB- जैसे फैशन में करना चाहते हैं तो कर सकते हैं। इस इंटरफ़ेस को MSDASQL (Microsoft OLE DB प्रदाता ODBC के लिए) कहा जाता है।
SQL सर्वर डेटा एक्सेस टेक्नोलॉजीज
के बाद से एसक्यूएल सर्वर (1) माइक्रोसॉफ्ट द्वारा बनाई गई है, और (2) माइक्रोसॉफ्ट डेटाबेस मंच, दोनों ODBC और OLE DB इसके लिए एक प्राकृतिक फिट कर रहे हैं।
ODBC
चूंकि अन्य सभी डेटाबेस प्लेटफार्मों में ओडीबीसी इंटरफेस था, इसलिए Microsoft को स्पष्ट रूप से SQL सर्वर के लिए एक प्रदान करना था। इसके अलावा, माइक्रोसॉफ्ट एक्सेस में मूल डिफ़ॉल्ट तकनीक DAO, सभी बाहरी डेटा स्रोतों से बात करने के मानक तरीके के रूप में ODBC का उपयोग करता है। इसने ODBC इंटरफ़ेस को साइन योग्यता रहित बना दिया। SQL सर्वर 2000 के साथ जारी SQL Server के लिए संस्करण 6 ODBC ड्राइवर अभी भी आसपास है। अपडेट किए गए संस्करण नए डेटा प्रकारों, कनेक्शन प्रौद्योगिकियों, एन्क्रिप्शन, HA / DR आदि को संभालने के लिए जारी किए गए हैं जो बाद के रिलीज के साथ दिखाई दिए हैं। 09/07/2018 के अनुसार, सबसे हालिया रिलीज़ v13.1 "SQL सर्वर के लिए ODBC ड्राइवर" है, जो 23/03/2018 को जारी किया गया है।
OLE DB
यह माइक्रोसॉफ्ट की अपनी तकनीक है, जिसे वे लगभग 2002 से 2005 तक मजबूती के साथ बढ़ावा दे रहे थे, इसके साथ ही एडीओ परत भी। वे स्पष्ट रूप से उम्मीद कर रहे थे कि यह पसंद की डेटा एक्सेस तकनीक बन जाएगी। (उन्होंने यहां तक कि एक्सेस 2002/2003 में डेटा तक पहुंचने के लिए एडीओ को डिफ़ॉल्ट विधि बनाया।) हालांकि, यह अंततः स्पष्ट हो गया कि यह कई कारणों से नहीं होने वाला था, जैसे:
- दुनिया Microsoft तकनीकों और ODBC से दूर जाने वाली नहीं थी;
- DAO / ODBC ADO / OLE DB की तुलना में तेज़ था और MS Access में पूरी तरह से एकीकृत था, इसलिए यह एक प्राकृतिक मौत नहीं थी;
- Microsoft द्वारा विकसित की जा रही नई प्रौद्योगिकियाँ, विशेष रूप से ADO.NET, ODBC से सीधे बात कर सकती हैं। ADO.NET OLE DB से सीधे बात कर सकता है (इस प्रकार ADO को बैकवाटर में छोड़कर), लेकिन यह (ADO के विपरीत) केवल इस पर निर्भर नहीं था।
इन कारणों और अन्य के लिए , Microsoft ने वास्तव में OLE DB को v11 (SQL Server 2012) के बाद SQL सर्वर रिलीज़ के लिए डेटा एक्सेस तकनीक के रूप में चित्रित किया। इस बिंदु से पहले कुछ वर्षों के लिए, वे SQL सर्वर मूल क्लाइंट का उत्पादन और अद्यतन कर रहे थे, जो ODBC और OLE DB दोनों तकनीकों का समर्थन करता था। हालांकि 2012 के अंत में, उन्होंने घोषणा की कि वे SQL सर्वर में देशी रिलेशनल डेटा एक्सेस के लिए ODBC के साथ संरेखित होंगे, और बाकी सभी को भी ऐसा करने के लिए प्रोत्साहित किया। उन्होंने आगे कहा कि v11 / SQL सर्वर 2012 के बाद SQL सर्वर रिलीज़ सक्रिय रूप से नहीं होगा OLE DB का समर्थन !
इस घोषणा ने विरोध का तूफान भड़का दिया। लोगों को यह समझने में नुकसान हो रहा था कि एमएस अचानक एक ऐसी तकनीक क्यों निकाल रहा था, जिसे बनाने में उन्हें सालों लग गए थे। इसके अलावा, एसएसएएस / एसएसआरएस और एसएसआईएस, जो एमएस-लिखित अनुप्रयोग थे, जो कि एसक्यूएल सर्वर से जुड़े थे, पूरी तरह से या आंशिक रूप से ओएलई डीबी पर निर्भर थे। फिर भी एक और शिकायत यह थी कि OLE DB में कुछ वांछनीय विशेषताएं थीं, जो ODBC पर वापस पोर्ट करना असंभव लग रहा था - आखिरकार, OLE DB में कई अच्छे बिंदु थे।
अक्टूबर 2017 में, माइक्रोसॉफ्ट ने अधिकृत और आधिकारिक तौर पर बिना पदावनत किए गए OLE DB का चयन किया । उन्होंने एक नए ड्राइवर (MSOLEDBSQL) के आसन्न आगमन की घोषणा की जिसमें मूल क्लाइंट 11 का मौजूदा फीचर सेट होगा और यह मल्टी-सबनेट फेलओवर और टीएलएस 1.2 समर्थन भी पेश करेगा। ड्राइवर को मार्च 2018 में जारी किया गया था।