JDBC driver
जे. डी. बी. सी. ड्राइवर एक सॉफ्टवेयर घटक है जो एक जावा अनुप्रयोग को डेटाबेस के साथ बातचीत करने में सक्षम बनाता है। जे. डी. बी. सी. ड्राइवर ओ. डी. बी. सी. ड्राइवरों, ADO.NET डेटा प्रदाताओं और ओ. एल. ई. डी. बी. प्रदाताओं के समान हैं। अलग-अलग डेटाबेस से जुड़ने के लिए, जे. डी. बी. सी. (जावा डेटाबेस कनेक्टिविटी ए. पी. आई.) को प्रत्येक डेटाबेस के लिए ड्राइवरों की आवश्यकता होती है। जे. डी. बी. सी. ड्राइवर डेटाबेस से कनेक्शन देता है और क्लाइंट और डेटाबेस के बीच प्रश्न और परिणाम को स्थानांतरित करने के लिए प्रोटोकॉल को लागू करता है। जे. डी. बी. सी. प्रौद्योगिकी चालक चार श्रेणियों में से एक में फिट होते हैं। जे. डी. बी. सी.-ओ. डी. बी. सी. ब्रिज नेटिव-ए. पी. आई. ड्राइवर नेटवर्क-प्रोटोकॉल ड्राइवर (मिडलवेयर ड्राइवर) डेटाबेस-प्रोटोकॉल ड्राइवर (प्योर जावा ड्राइवर) या थिन ड्राइवर। टाइप 1 ड्राइवर-जे. डी. बी. सी.-ओ. डी. बी. सी. ब्रिज टाइप 1 ड्राइवर-जे. डी. बी. सी.-ओ. डी. बी. सी. ब्रिज जे. डी. बी. सी. टाइप 1 ड्राइवर, जिसे जे. डी. बी. सी.-ओ. डी. बी. सी. ब्रिज के नाम से भी जाना जाता है, एक डीबेस ड्राइवर कार्यान्वयन है जो डेटाबेस से जुड़ने के लिए ओ. डी. बी. सी. ड्राइवर को नियुक्त करता है। ड्राइवर जे. डी. बी. सी. विधि कॉल को ओ. डी. बी. सी. फंक्शन कॉल में परिवर्तित करता है। चालक प्लेटफॉर्म-निर्भर है क्योंकि यह ओडीबीसी का उपयोग करता है जो बदले में अंतर्निहित ऑपरेटिंग सिस्टम के मूल पुस्तकालयों पर निर्भर करता है जिस पर जेवीएम चल रहा है। इसके अलावा, इस ड्राइवर का उपयोग अन्य स्थापना निर्भरताओं की ओर ले जाता है; उदाहरण के लिए, ODBC को ड्राइवर वाले कंप्यूटर पर स्थापित किया जाना चाहिए और डेटाबेस को ODBC ड्राइवर का समर्थन करना चाहिए। यदि शुद्ध-जावा चालक का विकल्प उपलब्ध है तो इस चालक का उपयोग हतोत्साहित किया जाता है। दूसरा निहितार्थ यह है कि टाइप 1 ड्राइवर का उपयोग करने वाला कोई भी एप्लिकेशन ड्राइवर और प्लेटफॉर्म के बीच बंधन को देखते हुए गैर-पोर्टेबल है। यह तकनीक उच्च-लेनदेन वातावरण के लिए उपयुक्त नहीं है। टाइप 1 ड्राइवर भी पूर्ण जावा कमांड सेट का समर्थन नहीं करते हैं और ओ. डी. बी. सी. ड्राइवर की कार्यक्षमता से सीमित हैं। सन (अब ओरेकल) ने एक जे. डी. बी. सी.-ओ. डी. बी. सी. ब्रिज ड्राइवर प्रदान कियाः sun.jdbc.odbc.JdbcOdbcDriver। यह ड्राइवर मूल कोड है और जावा नहीं, और बंद स्रोत है। जावा 8 में सन/ओरेकल के जे. डी. बी. सी.-ओ. डी. बी. सी. पुल को हटा दिया गया था (अन्य विक्रेता उपलब्ध हैं)। यदि एक ड्राइवर लिखा गया है ताकि इसे लोड करने से एक उदाहरण बनाया जा सके और उस उदाहरण को पैरामीटर के रूप में DriverManager.registerDriver कॉल भी किया जाए, तो यह ड्राइवर मैनेजर की ड्राइवरों की सूची में है और एक कनेक्शन बनाने के लिए उपलब्ध है। कभी-कभी ऐसा हो सकता है कि एक से अधिक जे. डी. बी. सी. ड्राइवर किसी दिए गए यू. आर. एल. से जुड़ने में सक्षम हों। उदाहरण के लिए, किसी दिए गए दूरस्थ डेटाबेस से जुड़ते समय, एक जे. डी. बी. सी.-ओ. डी. बी. सी. ब्रिज ड्राइवर, एक जे. डी. बी. सी.-से-सामान्य-नेटवर्क-प्रोटोकॉल ड्राइवर, या डेटाबेस विक्रेता द्वारा आपूर्ति किए गए ड्राइवर का उपयोग करना संभव हो सकता है। ऐसे मामलों में, जिस क्रम में ड्राइवरों का परीक्षण किया जाता है वह महत्वपूर्ण है क्योंकि ड्राइवर मैनेजर पहले ड्राइवर का उपयोग करेगा जो उसे मिलता है जो दिए गए यू. आर. एल. से सफलतापूर्वक जुड़ सकता है। सबसे पहले ड्राइवर मैनेजर प्रत्येक ड्राइवर का उपयोग उसी क्रम में करने की कोशिश करता है जिस क्रम में वह पंजीकृत था। (jdbc.drivers में सूचीबद्ध ड्राइवर हमेशा पहले पंजीकृत होते हैं।) यह किसी भी ड्राइवर को छोड़ देगा जो अविश्वसनीय कोड है जब तक कि उन्हें उसी स्रोत से लोड नहीं किया गया है जो कनेक्शन खोलने की कोशिश कर रहा है। यह चालकों को बारी-बारी से प्रत्येक पर विधि Driver.connect पर कॉल करके परीक्षण करता है, उन्हें उस यू. आर. एल. को पारित करता है जिसे उपयोगकर्ता ने मूल रूप से विधि DriverManager.getConnection पर पारित किया था। यू. आर. एल. को पहचानने वाला पहला ड्राइवर कनेक्शन बनाता है। लाभ लगभग कोई भी डेटाबेस जिसके लिए एक ओ. डी. बी. सी. ड्राइवर स्थापित है, तक पहुँचा जा सकता है, और डेटा को पुनर्प्राप्त किया जा सकता है। नुकसान प्रदर्शन ओवरहेड क्योंकि कॉल को ओ. डी. बी. सी. (ओपन डेटाबेस कनेक्टिविटी) ड्राइवर के लिए जे. डी. बी. सी. (जावा डेटाबेस कनेक्टिविटी) पुल के माध्यम से जाना पड़ता है, फिर देशी डेटाबेस कनेक्टिविटी इंटरफेस (इस प्रकार अन्य प्रकार के ड्राइवरों की तुलना में धीमा हो सकता है)। ओ. डी. बी. सी. ड्राइवर को क्लाइंट मशीन पर स्थापित करने की आवश्यकता होती है। एपलेट के लिए उपयुक्त नहीं है, क्योंकि क्लाइंट पर ODBC ड्राइवर स्थापित करने की आवश्यकता होती है। विशिष्ट ओ. डी. बी. सी. चालक हमेशा सभी प्लेटफार्मों पर उपलब्ध नहीं होते हैं; इसलिए, इस चालक की सुवाह्यता सीमित है। जे. डी. के. 1.8 (जावा 8) से कोई समर्थन नहीं है। टाइप 2 ड्राइवर-नेटिव-ए. पी. आई. ड्राइवर जे. डी. बी. सी. टाइप 2 ड्राइवर, जिसे नेटिव-ए. पी. आई. ड्राइवर के रूप में भी जाना जाता है, एक डेटाबेस ड्राइवर कार्यान्वयन है जो डेटाबेस के क्लाइंट-साइड पुस्तकालयों का उपयोग करता है। ड्राइवर जे. डी. बी. सी. विधि कॉल को डेटाबेस ए. पी. आई. के मूल कॉल में परिवर्तित करता है। उदाहरण के लिएः ओरेकल ओ. सी. आई. ड्राइवर एक प्रकार 2 ड्राइवर है। लाभ चूंकि जे. डी. बी. सी.-ओ. डी. बी. सी. पुल का कोई कार्यान्वयन नहीं है, इसलिए यह टाइप 1 चालक की तुलना में काफी तेज हो सकता है। नुकसान विक्रेता ग्राहक पुस्तकालय को ग्राहक मशीन पर स्थापित करने की आवश्यकता होती है। सभी डेटाबेस में क्लाइंट-साइड लाइब्रेरी नहीं होती है। यह चालक प्लेटफॉर्म पर निर्भर है। यह ड्राइवर ऐपलेट को छोड़कर सभी जावा अनुप्रयोगों का समर्थन करता है। टाइप 3 ड्राइवर-नेटवर्क-प्रोटोकॉल ड्राइवर (मिडलवेयर ड्राइवर) जे. डी. बी. सी. टाइप 3 ड्राइवर, जिसे डेटाबेस मिडलवेयर के लिए प्योर जावा ड्राइवर के रूप में भी जाना जाता है, एक डेटाबेस ड्राइवर कार्यान्वयन है जो कॉलिंग प्रोग्राम और डेटाबेस के बीच एक मध्य स्तर का उपयोग करता है। मध्य-स्तरीय (अनुप्रयोग सर्वर) जे. डी. बी. सी. कॉल को प्रत्यक्ष या अप्रत्यक्ष रूप से विक्रेता-विशिष्ट डेटाबेस प्रोटोकॉल में परिवर्तित करता है। यह टाइप 4 ड्राइवर से अलग है क्योंकि प्रोटोकॉल रूपांतरण तर्क क्लाइंट पर नहीं, बल्कि मध्य-स्तर पर रहता है। टाइप 4 ड्राइवरों की तरह, टाइप 3 ड्राइवर पूरी तरह से जावा में लिखा जाता है। एक ही क्लाइंट-साइड जे. डी. बी. सी. ड्राइवर का उपयोग कई डेटाबेस के लिए किया जा सकता है। यह इस बात पर निर्भर करता है कि मिडलवेयर को समर्थन करने के लिए कितने डेटाबेस को कॉन्फ़िगर किया गया है। टाइप 3 ड्राइवर प्लेटफ़ॉर्म-स्वतंत्र है क्योंकि प्लेटफ़ॉर्म से संबंधित अंतरों का ध्यान मिडलवेयर द्वारा रखा जाता है। इसके अलावा, मिडलवेयर का उपयोग सुरक्षा और फ़ायरवॉल पहुँच के अतिरिक्त लाभ प्रदान करता है। कार्य जे. डी. बी. सी. ए. पी. आई. कॉल को एक मध्य-स्तरीय नेट सर्वर को भेजता है जो कॉल को डी. बी. एम. एस.-विशिष्ट नेटवर्क प्रोटोकॉल में अनुवादित करता है। फिर अनुवादित कॉल को एक विशेष डी. बी. एम. एस. पर भेजा जाता है। तीन-स्तरीय संचार दृष्टिकोण का पालन करता है। कई डेटाबेस के लिए इंटरफेस कर सकते हैं-विक्रेता विशिष्ट नहीं। जावा में लिखा गया जे. डी. बी. सी. क्लाइंट ड्राइवर, एक डेटाबेस स्वतंत्र प्रोटोकॉल का उपयोग करके एक मिडलवेयर-नेट-सर्वर के साथ संवाद करता है, और फिर यह नेट सर्वर इस अनुरोध को उस डेटाबेस के लिए डेटाबेस कमांड में अनुवाद करता है। इस प्रकार मिडलवेयर संचार के लिए क्लाइंट ड्राइवर डेटाबेस स्वतंत्र है। लाभ चूंकि क्लाइंट और मिडलवेयर सर्वर के बीच संचार डेटाबेस स्वतंत्र है, इसलिए क्लाइंट पर डेटाबेस विक्रेता पुस्तकालय की कोई आवश्यकता नहीं है। नए डेटाबेस के लिए क्लाइंट को बदलने की आवश्यकता नहीं है। मिडलवेयर सर्वर (जो एक पूर्ण जे2ईई एप्लिकेशन सर्वर हो सकता है) विशिष्ट मिडलवेयर सेवाएं प्रदान कर सकता है जैसे कैशिंग (कनेक्शन, क्वेरी परिणाम, आदि)। ), लोड बैलेंसिंग, लॉगिंग और ऑडिटिंग। एक एकल ड्राइवर किसी भी डेटाबेस को संभाल सकता है, बशर्ते कि मिडलवेयर इसका समर्थन करता हो। ई. जी. आई. डी. ए. सर्वर के नुकसान मध्य स्तर में डेटाबेस-विशिष्ट कोडिंग की आवश्यकता होती है। मिडलवेयर परत को जोड़ने से अतिरिक्त विलंब हो सकता है, लेकिन आमतौर पर बेहतर मिडलवेयर सेवाओं का उपयोग करके इसे दूर किया जाता है। टाइप 4 ड्राइवर-डेटाबेस-प्रोटोकॉल ड्राइवर/थिन ड्राइवर (प्योर जावा ड्राइवर) जे. डी. बी. सी. टाइप 4 ड्राइवर, जिसे डायरेक्ट टू डेटाबेस प्योर जावा ड्राइवर के रूप में भी जाना जाता है, एक डेटाबेस ड्राइवर कार्यान्वयन है जो जे. डी. बी. सी. कॉल को सीधे विक्रेता-विशिष्ट डेटाबेस प्रोटोकॉल में परिवर्तित करता है। पूरी तरह से जावा में लिखे गए, टाइप 4 ड्राइवर इस प्रकार प्लेटफॉर्म स्वतंत्र हैं। वे ग्राहक की जावा आभासी मशीन के अंदर स्थापित करते हैं। यह टाइप 1 और टाइप 2 ड्राइवरों की तुलना में बेहतर प्रदर्शन प्रदान करता है क्योंकि इसमें कॉल को ओडीबीसी या डेटाबेस एपीआई कॉल में बदलने का ओवरहेड नहीं है। टाइप 3 ड्राइवरों के विपरीत, इसे काम करने के लिए संबंधित सॉफ्टवेयर की आवश्यकता नहीं है। चूंकि डेटाबेस प्रोटोकॉल विक्रेता विशिष्ट है, इसलिए जे. डी. बी. सी. क्लाइंट को विभिन्न प्रकार के डेटाबेस से जुड़ने के लिए अलग-अलग ड्राइवरों की आवश्यकता होती है, आमतौर पर विक्रेता की आपूर्ति की जाती है। मंच स्वतंत्रता प्राप्त करने के लिए जावा में पूरी तरह से लागू किए गए लाभ। ये चालक अनुरोधों को मध्यस्थ प्रारूप (जैसे ओ. डी. बी. सी.) में अनुवाद नहीं करते हैं। क्लाइंट एप्लिकेशन सीधे डेटाबेस सर्वर से जुड़ता है। प्रदर्शन में सुधार करने के लिए कोई अनुवाद या मिडलवेयर परतों का उपयोग नहीं किया जाता है। जे. वी. एम. एप्लिकेशन-टू-डेटाबेस कनेक्शन के सभी पहलुओं का प्रबंधन कर सकता है; यह डीबगिंग की सुविधा प्रदान कर सकता है। नुकसान ड्राइवर डेटाबेस विशिष्ट होते हैं, क्योंकि विभिन्न डेटाबेस विक्रेता व्यापक रूप से अलग (और आमतौर पर स्वामित्व वाले) नेटवर्क प्रोटोकॉल का उपयोग करते हैं। यह भी देखें ADO.NET OLE DB ओपन डेटाबेस कनेक्टिविटी (ODBC) XQJ (जावा के लिए XQuery API) संदर्भ जावा प्लेटफॉर्म डेटा एक्सेस प्रौद्योगिकियां