2010-03-04 29 views
19

मैंने देखा है कि JDBC ड्राइवर की तरह अलग अलग है:अंतर

  1. प्रकार 1 ड्राइवर
  2. टाइप 2 ड्राइवर आदि .. टाइप करने के लिए 4

क्यों वे मिला टाइप 1, टाइप 2 इत्यादि जैसे नाम? क्या कोई तर्क है?

उत्तर

22

टाइप नंबर इस बारे में कुछ बताता है कि ड्राइवर वास्तव में डेटाबेस के साथ संचार करता है।

  1. ODBC API के माध्यम से।
  2. डीआईबी विक्रेता विशिष्ट एपीआई (JNI calls का उपयोग करते हुए उदा। विंडोज़ में एक डीएलएल फ़ाइल)।
  3. जेनेरिक नेटवर्क प्रोटोकॉल के माध्यम से (उदाहरण के लिए sockets का उपयोग कर टीसीपी/आईपी प्रोटोकॉल)।
  4. डीबी विक्रेता विशिष्ट नेटवर्क प्रोटोकॉल (अभी भी सॉकेट के साथ) के माध्यम से।

सामान्य रूप से (केवल संयोग से), प्रकार संख्या कितनी अधिक है, जेडीबीसी चालक कितना बेहतर प्रदर्शन करता है।

+0

विक्रेता विशिष्ट माध्यम ** मूल ** थोड़ा – Premraj

0

http://en.wikipedia.org/wiki/JDBC_driver

किसी भी तर्क, बस सादा आलस्य मुझे लगता है कि लगता नहीं है!

अपडेट: सवाल यह था कि टाइप प्रकार सेब टाइप करने के बजाय टाइप 1, टाइप 2 इत्यादि को कॉल करने के लिए कुछ तर्क था, टाइप नारंगी :)। मैं समझता हूं कि ड्राइवर प्रकार अलग-अलग हैं और परिस्थितियों के आधार पर काम नहीं करते हैं, लेकिन "जेडीबीसी-ओडीबीसी टाइप करें" या "टाइप जॉ" के बजाय "टाइप 1" नाम का नाम AFAIK का कोई कारण नहीं है।

+0

इसमें कुछ तर्क है - ड्राइवर प्रकार को जानना आपको समझने में मदद करता है कि चालक किस परिस्थिति में काम करेगा। उदाहरण के लिए, मूल कोड का उपयोग करने वाला ड्राइवर काम नहीं करेगा यदि आप देशी कोड (एप्लेट में कहें) को तैनात नहीं कर सकते हैं। –

0

संक्षेप में, प्रत्येक प्रकार एक अलग रणनीति का उपयोग करता है और विभिन्न प्रकार के कार्यान्वयन के लिए बेहतर काम करता है। मुझे नहीं लगता कि यह आलस्य था। मुझे लगता है कि यह आपकी आसानी से और स्पष्ट रूप से चुनने में सक्षम होना था कि किस प्रकार आपकी विशेष स्थिति के लिए सबसे अच्छा है।

4

संख्याएं बहुत जानकारीपूर्ण नहीं हैं। मैं इसे और अधिक उपयोगी की तर्ज पर यह सोचने के लिए लगता है:

  • स्थानीय एपीआई (1,2) बनाम नेटवर्क प्रोटोकॉल (3, 4)
  • डाटाबेस स्वतंत्र (विषम संख्या) बनाम डेटाबेस विशिष्ट (यहां तक ​​कि संख्या)

मैं नंबर याद कर सकता है कभी नहीं, लेकिन जब किसी ने कहा कि "हम यहाँ एक प्रकार -4 ड्राइवर का उपयोग", मुझे पता है कि वे क्या बारे में बात कर रहे थे दो हां-ना सवाल पूछने सकता है।

+0

अच्छा निमोनिक। – BalusC

8

मेरा मानना ​​है कि यह सूर्य की मूल (1997) intro to JDBC वापस चला जाता है:

  1. :

    JDBC चालकों है कि हम आम तौर पर इस समय के बारे में पता कर रहे हैं चार श्रेणियों में से एक में फिट

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

  2. मूल निवासी-एपीआई आंशिक रूप से-जावा चालक: ड्राइवर इस तरह की JDBC ओरेकल, Sybase, इन्फोर्मिक्स, DB2, या अन्य डीबीएमएस के लिए ग्राहक एपीआई पर कॉल में कॉल बदल देता है। ध्यान दें कि, पुल ड्राइवर की तरह, ड्राइवर की इस शैली को की आवश्यकता है कि कुछ बाइनरी कोड प्रत्येक क्लाइंट मशीन पर लोड हो जाएं।

  3. JDBC-नेट शुद्ध जावा चालक: यह ड्राइवर JDBC एक डीबीएमएस स्वतंत्र शुद्ध प्रोटोकॉल जो है तो एक सर्वर से एक डीबीएमएस प्रोटोकॉल के अनुवाद में कॉल अनुवाद करता है। यह नेट सर्वर मिडलवेयर अपने शुद्ध जावा क्लाइंट को कई अलग-अलग डेटाबेस से कनेक्ट करने में सक्षम है। विशिष्ट प्रोटोकॉल का उपयोग विक्रेता पर निर्भर करता है। आम तौर पर, यह सबसे लचीला जेडीबीसी विकल्प है। यह है कि इस समाधान के सभी विक्रेता इंट्रानेट उपयोग के लिए उपयुक्त उत्पाद प्रदान करेंगे। इन उत्पादों के लिए इंटरनेट एक्सेस का समर्थन करने के लिए, उन्हें सुरक्षा के लिए अतिरिक्त आवश्यकताएं, फ़ायरवॉल के माध्यम से एक्सेस, और आगे, वेब लागू करता है।

  4. मूल-प्रोटोकॉल शुद्ध जावा चालक: इस तरह का चालक जेडीबीसी नेटवर्क प्रोटोकॉल में सीधे डीबीएमएस द्वारा उपयोग किया जाता है। यह क्लाइंट मशीन से डीबीएमएस सर्वर पर सीधी कॉल की अनुमति देता है और इंट्रानेट एक्सेस के लिए उत्कृष्ट समाधान है। चूंकि इनमें से कई प्रोटोकॉल स्वामित्व हैं, डेटाबेस विक्रेता स्वयं प्राथमिक स्रोत होंगे। कई डेटाबेस विक्रेताओं में प्रगति है।

उम्मीद है कि अंत में ड्राइवर श्रेणियों 3 और 4 JDBC से डेटाबेस का उपयोग करने के लिए पसंदीदा तरीका हो जाएगा। चालक श्रेणियां 1 और 2 अंतरिम समाधान हैं जहां प्रत्यक्ष शुद्ध जावा ड्राइवर अभी तक उपलब्ध नहीं हैं। श्रेणियों 1 और 2 पर संभव भिन्नताएं हैं (नीचे तालिका में नहीं दिखाया गया है) जिसके लिए एक कनेक्टर, की आवश्यकता होती है लेकिन ये आमतौर पर कम वांछनीय समाधान होते हैं। श्रेणियाँ 3 और 4 ऑफ़र जावा के सभी फायदे, स्वचालित स्थापना (उदाहरण के लिए, एप्लेट जो इसका उपयोग करता है) के साथ जेडीबीसी ड्राइवर डाउनलोड कर रहा है।


नोट वे वास्तव में नाम नहीं दिया है कि उन्हें 1, 2, 3 और 4, बल्कि JDBC-ODBC पुल प्लस ODBC ड्राइवर, मूल निवासी-एपीआई आंशिक रूप से-जावा ड्राइवर, JDBC-नेट शुद्ध जावा ड्राइवर टाइप करें , और मूल-प्रोटोकॉल शुद्ध जावा चालक। प्रत्येक नाम एक मुट्ठी भर था, इसलिए लोगों ने तुरंत उनकी संख्या के आधार पर उन्हें संदर्भित करना शुरू कर दिया।

+0

मदद करता है दुख की बात है, ओरेकल पुराने सूर्य दस्तावेज़ के लिंक को संरक्षित नहीं करता है। –