2009-07-24 7 views
7

मुझे यह प्रश्न यहां मिला: OLEDB v/s ODBCओडीबीसी और ओलेडीबी के बीच क्या अंतर है?

जिसने मुझे और जानकारी दी, लेकिन वास्तव में मुझसे पूछे गए प्रश्न का उत्तर नहीं दिया, इसलिए मैं वहां से आगे बढ़ूंगा।

मैं सी # में काम कर रहा हूं। मैं आपको इस बारे में लंबी कहानी दूंगा कि मैं इस conundrum पर कैसे पहुंचे, लेकिन मूल रूप से मैं ओडीबीसी और ओएलडीबी के बीच फैसला करने की कोशिश कर रहा हूं।

हम विभिन्न ग्राहकों को जो बेहद विभिन्न डेटाबेस (कुछ एसक्यूएल, कुछ ऑरेकल, कि मैं कभी नहीं सुना है और का नाम याद करने के लिए परेशान नहीं किया था और कुछ कुछ कुछ)

अब है की एक बहुत कुछ के साथ काम , जो मैं समझता हूं, ओडीबीसी पुराना है, और मानक था। और अब ओलेडीबी साथ आया है ... और ... अलग है? लेकिन एक ही चीज़ (यह डेटाबेस से बात करता है) पूरा करता है

मैं एक दूसरे का उपयोग क्यों करना चाहूंगा? ओडीबीसी (उपर्युक्त पोस्ट के अनुसार) क्रॉस-प्लेटफ़ॉर्म है, जो कि अच्छा है, लेकिन वह ओएलडीबी द्वारा प्रदान की जाने वाली ओडीडीबी की पेशकश के बारे में बहुत कम जानकारी प्रदान करता है।

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

उत्तर

16

ओडीबीसी डाटाबेस तक पहुंचने के लिए एक सी एपीआई है। इसके लिए एक मानक है, यह प्रत्येक प्रमुख डेटाबेस विक्रेता द्वारा समर्थित है, यह बहुत अच्छी तरह से प्रलेखित है, यह क्रॉस-प्लेटफ़ॉर्म है। ओएलडीडीबी एक समान इंटरफ़ेस है जो सी एपीआई के बजाय माइक्रोसॉफ्ट की COM तकनीक का उपयोग करता है। इसका मतलब यह है कि यह COM का समर्थन करने वाले प्लेटफ़ॉर्म पर केवल आसानी से उपयोग किया जा सकता है।

दिन के अंत में, दोनों पुस्तकालय मोटे तौर पर समकक्ष बुनियादी कार्यक्षमता प्रदान करते हैं। दरअसल, कुछ ओएलडीडीबी ड्राइवर वास्तव में मूल डेटाबेस पुस्तकालयों की बजाय ओडीबीसी का उपयोग करते हैं।

तो, यदि आप सी # डेवलपर हैं, तो विंडोज़ पर काम कर रहे हैं, ओएलईडीबी दोनों के बीच स्पष्ट विकल्प है। यदि आप सी (या सी ++ COM का उपयोग नहीं कर रहे हैं) का उपयोग कर रहे हैं, या क्रॉस-प्लेटफ़ॉर्म समर्थन की आवश्यकता है, तो ओडीबीसी बेहतर शर्त है।

0

यदि आप सी # में प्रोग्रामिंग कर रहे हैं, तो आप सीधे किसी एक का उपयोग नहीं करेंगे। आप कुछ रूपों में ADO.NET का उपयोग करेंगे।

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

+0

क्या कोई डाउनवॉटर देखभाल डाउनवोट के कारण को समझाने की देखभाल करेगा? –

+1

मैंने डाउनवोट नहीं किया, लेकिन मुझे नहीं लगता कि आपने इस सवाल को संबोधित किया है। वहाँ बहुत सारे बेवकूफ हैं - मुझे उन्हें अनदेखा करने के लिए सबसे अच्छा मिला है। –

+0

तब मुझे प्रश्न समझ में नहीं आया। वह यह तय करने की कोशिश नहीं कर रहा कि कौन सी एपीआई उपयोग करे, है ना? मैंने सोचा कि वह यह तय करने की कोशिश कर रहा था कि कौन से चालकों को सबसे लचीलापन के लिए उपयोग करना है। मुझे इस सवाल से कुछ भी नहीं मिला जो बताता है कि ओपी ओएलडीडीबी कॉम एपीआई को कॉल करना शुरू कर रहा है। –

2

सी # डेवलपर के रूप में और क्योंकि आप कई अलग-अलग डेटा स्रोतों तक पहुंच रहे हैं, आपको ओएलईडीबी के साथ जाना चाहिए।

OLE DB ODBC

के लिए एक स्थानापन्न ODBC प्रौद्योगिकी और तीसरे पक्ष के बाजार एक बिंदु के लिए परिपक्व नहीं है: मैं क्योंकि यह जब क्या उपयोग करने के लिए कुछ संकेत देता है इस white paper से निम्नलिखित की नकल की जिस पर ओडीबीसी एसक्यूएल डेटाबेस तक पहुंचने के लिए एक आदर्श तकनीक है। नतीजतन, ओएलई डीबी का एक अभिन्न हिस्सा एक नया ओएलई डीबी चालक प्रबंधक है जो ओएलई डीबी उपभोक्ताओं को ओडीबीसी प्रदाताओं से बात करने में सक्षम बनाता है।

  • आप एक गैर OLE वातावरण से मानक रिलेशनल डेटाबेस तक पहुँचने रहे हैं, तो ODBC सबसे अच्छा विकल्प है: निम्न जानकारी जो प्रौद्योगिकी का उपयोग करने के लिए अपनी पसंद मार्गदर्शन कर सकते हैं।
  • यदि आप गैर-SQL डेटा में डेटा इंटरफ़ेस का पर्दाफाश करना चाहते हैं, तो ओएलई डीबी सबसे अच्छा विकल्प है।
  • यदि आप ओएलई पर्यावरण में प्रोग्रामिंग कर रहे हैं, तो ओएलई डीबी सबसे अच्छा विकल्प है।
  • यदि इंटरऑपरेबल डेटाबेस घटक बनाना चाहते हैं, तो ओएलई डीबी एकमात्र विकल्प है।
+0

मुझे लगता है कि यह इंगित करना महत्वपूर्ण है कि दूसरा बुलेट केवल ओएलडीडीबी चालक (या कुछ बहुत ही विशेषज्ञ ग्राहकों के लिए) के आपूर्तिकर्ताओं पर लागू होता है - अधिकांश क्लाइंट सॉफ़्टवेयर इस तरह के इंटरफ़ेस को कभी नहीं दिखाता है। और चौथी गोली बस विपणन-बोल रही है। –

+0

@McSim: इनमें से कोई भी बुलेट बिंदु प्रश्न पर लागू नहीं होता है। सवाल सी # से इन डेटाबेस का उपयोग करने के बारे में था। ओपी ओडीबीसी सी-आधारित एपीआई नहीं बुलाएगा, न ही ओएलई डीबी कॉम-आधारित एपीआई। आप कहते हैं कि आप ओएलडीडीबी के साथ गए थे। क्या आप COM API को कॉल कर रहे हैं? –

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