JDBC driver
جے ڈی بی سی ڈرائیور ایک سافٹ ویئر جزو ہے جو جاوا ایپلی کیشن کو ڈیٹا بیس کے ساتھ تعامل کرنے کے قابل بناتا ہے۔ جے ڈی بی سی ڈرائیورز او ڈی بی سی ڈرائیوروں، ADO.NET ڈیٹا فراہم کنندگان، اور او ایل ای ڈی بی فراہم کنندگان کے مترادف ہیں۔ انفرادی ڈیٹا بیس سے جڑنے کے لیے، جے ڈی بی سی (جاوا ڈیٹا بیس کنیکٹوٹی اے پی آئی) کو ہر ڈیٹا بیس کے لیے ڈرائیوروں کی ضرورت ہوتی ہے۔ جے ڈی بی سی ڈرائیور ڈیٹا بیس کو کنکشن دیتا ہے اور کلائنٹ اور ڈیٹا بیس کے درمیان استفسار اور نتیجہ کی منتقلی کے لیے پروٹوکول کو نافذ کرتا ہے۔ جے ڈی بی سی ٹیکنالوجی ڈرائیور چار زمروں میں سے کسی ایک میں فٹ ہوتے ہیں۔ جے ڈی بی سی-او ڈی بی سی برج مقامی-اے پی آئی ڈرائیور نیٹ ورک-پروٹوکول ڈرائیور (مڈل ویئر ڈرائیور) ڈیٹا بیس-پروٹوکول ڈرائیور (خالص جاوا ڈرائیور) یا پتلی ڈرائیور۔ ٹائپ 1 ڈرائیور-جے ڈی بی سی-او ڈی بی سی پل ٹائپ 1 ڈرائیور-جے ڈی بی سی-او ڈی بی سی پل جے ڈی بی سی ٹائپ 1 ڈرائیور، جسے جے ڈی بی سی-او ڈی بی سی پل بھی کہا جاتا ہے، ایک ڈی بیس ڈرائیور کا نفاذ ہے جو ڈیٹا بیس سے جڑنے کے لیے او ڈی بی سی ڈرائیور کو ملازمت دیتا ہے۔ ڈرائیور جے ڈی بی سی طریقہ کالوں کو او ڈی بی سی فنکشن کالوں میں تبدیل کرتا ہے۔ ڈرائیور پلیٹ فارم پر منحصر ہے کیونکہ یہ او ڈی بی سی کا استعمال کرتا ہے جو بدلے میں اس بنیادی آپریٹنگ سسٹم کی مقامی لائبریریوں پر منحصر ہے جس پر جے وی ایم چل رہا ہے۔ نیز، اس ڈرائیور کا استعمال انسٹالیشن کے دیگر انحصار کی طرف لے جاتا ہے۔ مثال کے طور پر، او ڈی بی سی کو ڈرائیور والے کمپیوٹر پر انسٹال ہونا چاہیے اور ڈیٹا بیس کو او ڈی بی سی ڈرائیور کو سپورٹ کرنا چاہیے۔ اگر پیور جاوا ڈرائیور کا متبادل دستیاب ہو تو اس ڈرائیور کے استعمال کی حوصلہ شکنی کی جاتی ہے۔ دوسرا مطلب یہ ہے کہ ٹائپ 1 ڈرائیور کا استعمال کرنے والی کوئی بھی ایپلی کیشن ڈرائیور اور پلیٹ فارم کے درمیان بائنڈنگ کو دیکھتے ہوئے غیر پورٹیبل ہے۔ یہ ٹیکنالوجی اعلی لین دین کے ماحول کے لیے موزوں نہیں ہے۔ ٹائپ 1 ڈرائیور بھی مکمل جاوا کمانڈ سیٹ کی حمایت نہیں کرتے ہیں اور او ڈی بی سی ڈرائیور کی فعالیت سے محدود ہیں۔ سن (اب اوریکل) نے جے ڈی بی سی-او ڈی بی سی برج ڈرائیور فراہم کیا: sun.jdbc.odbc.JdbcOdbcDriver۔ یہ ڈرائیور مقامی کوڈ ہے اور جاوا نہیں، اور بند ماخذ ہے۔ سن/اوریکل کے جے ڈی بی سی-او ڈی بی سی پل کو جاوا 8 میں ہٹا دیا گیا تھا (دیگر دکاندار دستیاب ہیں)۔ اگر کوئی ڈرائیور اس طرح لکھا گیا ہے کہ اسے لوڈ کرنے سے ایک مثال پیدا ہوتی ہے اور اس مثال کے ساتھ پیرامیٹر کے طور پر DriverManager.registerDriver کو بھی کال کرتا ہے، تو یہ ڈرائیور منیجر کی ڈرائیوروں کی فہرست میں ہے اور کنکشن بنانے کے لیے دستیاب ہے۔ بعض اوقات ایسا بھی ہو سکتا ہے کہ ایک سے زیادہ جے ڈی بی سی ڈرائیور کسی دیئے گئے یو آر ایل سے جڑنے کے قابل ہوں۔ مثال کے طور پر، کسی دیئے گئے ریموٹ ڈیٹا بیس سے جڑتے وقت، جے ڈی بی سی-او ڈی بی سی برج ڈرائیور، جے ڈی بی سی-ٹو-جنیرک-نیٹ ورک-پروٹوکول ڈرائیور، یا ڈیٹا بیس وینڈر کے ذریعہ فراہم کردہ ڈرائیور کا استعمال کرنا ممکن ہو سکتا ہے۔ ایسے معاملات میں، جس ترتیب میں ڈرائیوروں کی جانچ کی جاتی ہے وہ اہم ہے کیونکہ ڈرائیور منیجر پہلے ڈرائیور کا استعمال کرے گا جو اسے ملتا ہے جو دیئے گئے یو آر ایل سے کامیابی سے جڑ سکتا ہے۔ پہلے ڈرائیور منیجر ہر ڈرائیور کو اس ترتیب میں استعمال کرنے کی کوشش کرتا ہے جس میں وہ رجسٹرڈ تھا۔ (jdbc.drivers میں درج ڈرائیور ہمیشہ پہلے رجسٹرڈ ہوتے ہیں۔) یہ کسی بھی ایسے ڈرائیوروں کو چھوڑ دے گا جو ناقابل اعتماد کوڈ ہیں جب تک کہ وہ اسی ماخذ سے لوڈ نہ کیے گئے ہوں جیسے کوڈ جو کنکشن کھولنے کی کوشش کر رہا ہے۔ یہ ہر ایک پر طریقہ کار Driver.connect کو کال کرکے ڈرائیوروں کی جانچ کرتا ہے، انہیں وہ یو آر ایل منتقل کرتا ہے جسے صارف نے اصل میں طریقہ کار DriverManager.getConnection پر منتقل کیا تھا۔ یو آر ایل کو پہچاننے والا پہلا ڈرائیور کنکشن بناتا ہے۔ فوائد تقریبا کسی بھی ڈیٹا بیس تک رسائی حاصل کی جا سکتی ہے جس کے لیے او ڈی بی سی ڈرائیور نصب ہے، اور ڈیٹا کو بازیافت کیا جا سکتا ہے۔ نقصانات اوور ہیڈ کارکردگی چونکہ کالوں کو جے ڈی بی سی (جاوا ڈیٹا بیس کنیکٹوٹی) پل سے ہو کر او ڈی بی سی (اوپن ڈیٹا بیس کنیکٹوٹی) ڈرائیور تک جانا پڑتا ہے، پھر مقامی ڈیٹا بیس کنیکٹوٹی انٹرفیس تک جانا پڑتا ہے (اس طرح یہ دیگر قسم کے ڈرائیوروں کے مقابلے میں سست ہو سکتا ہے)۔ او ڈی بی سی ڈرائیور کو کلائنٹ مشین پر نصب کرنے کی ضرورت ہے۔ ایپلٹس کے لیے موزوں نہیں ہے، کیونکہ او ڈی بی سی ڈرائیور کو کلائنٹ پر انسٹال کرنے کی ضرورت ہے۔ مخصوص او ڈی بی سی ڈرائیور ہمیشہ تمام پلیٹ فارمز پر دستیاب نہیں ہوتے ہیں ؛ اس لیے اس ڈرائیور کی پورٹیبلٹی محدود ہے۔ جے ڈی کے 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) حوالہ جات جاوا پلیٹ فارم ڈیٹا رسائی ٹیکنالوجیز