|
JDBC arxitekturasi va xususiyatlari
|
bet | 6/11 | Sana | 27.05.2024 | Hajmi | 2,04 Mb. | | #254491 |
Bog'liq Individual2.4 JDBC arxitekturasi va xususiyatlari.
JDBC (Java Database Connectivity) API, Java dasturlash tilida ma'lumotlar bazalari bilan bog'lanish uchun standart interfeyslarni taqdim etadigan bir API'dir. Bu API orqali kliyent va server o'rtasida ma'lumotlar bazasi bilan aloqani yaratish, so'rovlar jo'natish, ma'lumotlarni o'qish va yozish uchun imkoniyatlar mavjud. JDBC API arxitekturasi quyidagilarni o'z ichiga oladi. Ilovalar va Appletlar JDBC orqali ma'lumotlar bazalariga sof Java drayverlardan foydalangan holda kirishlari mumkin. Direct-to Database Pure Java Driver. Ushbu turdagi drayver JDBC qo'ng'iroqlarini to'g'ridan-to'g'ri DBMS-lar tomonidan ishlatiladigan tarmoq protokoliga o'zgartiradi, mijoz mashinasidan DBMS serveriga to'g'ridan-to'g'ri qo'ng'iroqni amalga oshirishga imkon beradi va intranetga kirish uchun amaliy echimni ta'minlaydi. Ma'lumotlar bazasi uchun O'rta dastur uchun toza Java Driver: Ushbu turdagi drayver JDBC qo'ng'iroqlarni o'rta dastur ta'minotchisining protokoliga o'zgartiradi, keyinchalik u o'rta dasturlar serveri tomonidan DBMS protokoliga tarjima qilinadi. O'rta dastur turli xil ma'lumotlar bazalariga ulanishni ta'minlaydi.
2.1-rasm. JDBC arxitekturasi JDBC API va JDBC drayverlaridan iborat.
JDBC ulanish yechimi sifatida ODBC drayverlaridan va mavjud ma'lumotlar bazasi mijoz kutubxonalaridan foydalanishingiz mumkinnoladi JDBC-ODBC Bridge plus ODBC driver. ODBC drayverlari orqali JDBC kirishini ta'minlaydi. Ikkala ODBC ikkilik kodi va ba'zida ma'lumotlar bazasi mijoz kodi ushbu drayverni ishlatadigan har bir mashinaga yuklanishi kerak. Native-API qisman Java Driver ushbu drayver uslubi JDBC qo'ng'iroqlarini Oracle, Sybase, Informix va shunga o'xshash dasturlar uchun API mijoz qo'ng'iroqlariga o'zgartiradi. Har bir mijoz mashinasida ba'zi ikkilik kodni yuklashni talab qiladi. Ma'lumotlar bazasi ulanishi (ODBC) va JDBC ODBC ko'prigi JDBC va ODBC SQL uchun Open CLI-ga asoslangan umumiy ota-onani bo'ladi. JDBC drayverlari ko'pgina ma'lumotlar bazalarini kesishlariga qaramay, mavjud ODBC drayverlaridan foydalanib, ma'lumotlar bazasidan xabardor Java dasturlarini yozishingiz mumkin. Javasoft va Intersolv maxsus JDBC drayverini – JDBC ODBC ko'prigini yozdilar, shunda ishlab chiqaruvchilar Java dasturlarida mavjud ODBC drayverlaridan foydalanishlari mumkin. JDBC / ODBC ko'prigi mijozga yoki Java dasturi ishlayotgan joyda oldindan o'rnatishni talab qiladi, chunki ODBC-dan JDBC-ga tarjimani amalga oshirish uchun ko'prik usuli chaqirishi kerak. Bu mahalliy usullardan foydalanadigan JDBC drayverlariga ham tegishli. Java dasturlari bilan tarmoq orqali faqat 100% toza Java drayverlarini yuklab olish mumkin. JDBC / ODBC ko'prigi aslida JDBC drayveri bo'lib, ODBC-ga va undan past darajadagi tarjimani amalga oshiradi. Bu Babel minorasi kabi, lekin u mavjud bo'lganda ma'lum bir ma'lumotlar bazasi uchun osongina JDBC drayveriga o'tishingiz mumkin. Agar Java dasturining asosiy kodiga biron bir o'zgartirish kiritish kerak bo'lsa, kamgina.
JDBC URL manzilidan qanday foydalanadi
Ma'lumotlar manbasini belgilashning formati kengaytirilgan yagona manba joylashtiruvchisi (URL) bo'lib, quyidagicha aniqlanadi:
: :
Masalan: jdbc: odbc: //shrike.depaul.edu: 8080 / my_database Subprotokol JDBC drayverlari tomonidan o'zlarini tanib olish uchun ishlatiladi va DriverManager subprotokoldan tegishli drayverni ma'lum bir subprotokolga moslashtirish uchun foydalanadi. DriverManager DriverMa nager.getConnection usulini ishga tushirganda ulanish aniqlanadi. Dasturga oid qo'shimcha ma'lumotlar o'quvchi uchun qoladi, chunki ular ushbu kirish doirasiga kirmaydi.
JDBC bilan bog'liq savollar, sharhlar, xavfsizlik masalalari
1) JDBC 2.0 API - bu JDBC-ning so'nggi yangilanishi. JDBC 2.0 ko'plab yangi xususiyatlarni o'z ichiga oladi, ular orasida aylanadigan natijalar to'plami ham mavjud. JDBC 2.0 uchun ikkita qism mavjud: JDBC 2.0 Core API va JDBC 2.0 Standard Extension API. JDBC 2.0 Core API, JDK 1.2 versiyasida d ni o'z ichiga oladi.
2) JDK 1.2 beta4 versiyasiga kiritilgan JDBC-ODBC ko'prigi JDBC 2.0 API-ni qo'llab-quvvatlamaydi. Sun va Intersolv ko'prikning yangi versiyasini ishlab chiqarish ustida ishlamoqda, bu esa JDBC 2.0 API-ning yangi xususiyatlarini qo'llab-quvvatlaydi, masalan, aylantiriladigan resu lt to'plamlari.
3) Netscape Navigator kabi brauzerda ishlaydigan ishonchsiz ilovadan JDBC-ODBC ko'prigidan foydalanishga yo'l qo'yilmaydi. JDBC-ODBC ko'prigi xavfsizlik nuqtai nazaridan ishonchsiz kodni chaqirishga imkon bermaydi. Bu juda yaxshi, chunki brauzer tomonidan yuklab olingan ishonchsiz applet ODBC-ni chaqirib Java xavfsizligini buzolmaydi. Esda tutingki, ODBC - bu mahalliy kod, shuning uchun ODBC chaqirilganda, Java xavfsizlik buzilishi yuz bermasligini kafolatlay olmaydi. Boshqa tomondan, Pure Java JDBC drayverlari appletlar bilan yaxshi ishlaydi. Ular to'liq yuklab olinadi va biron-bir konfiguratsiyani talab qilmaydi. Va nihoyat, shuni ta'kidlashni istardikki, JDBC-ODBC ko'prigini appletviewer-da ishlaydigan appletlar bilan ishlatish mumkin, chunki appletviewer bu dasturlar ishonchli deb taxmin qiladi. HotJava brauzerida ishlaydigan (Java dasturiy ta'minotidan) ishlaydigan appletlar bilan JDBC-ODBC ko'prigini ham ishlatish mumkin, chunki HotJava applet xavfsizligini o'chirib qo'yish imkoniyatini beradi. Umuman olganda, applet xavfsizligini o'chirib qo'yish xavflidir, lekin ba'zi bir boshqariladigan vaziyatlarda, masalan, appletlar uchun faqat xavfsiz intranet muhitida foydalanilishi mumkin. Agar siz ushbu tanlovni tanlagan bo'lsangiz, ehtiyot bo'lishni unutmang va xavfsizlik bilan bog'liq muammolarni oldini olish uchun Java Java JDBC drayveridan foydalaning.
4) Hozirda ko'pchilik ish stoli ma'lumotlar bazalari ostidagi ODBC-dan foydalanadigan JDBC echimini talab qiladi. Buning sababi, ushbu ma'lumotlar bazasi mahsulotlarini etkazib beruvchisi Java JDBC drayverlarini to'liq amalga oshirmagan. Eng yaxshi yondashuv ODBC-ni va siz foydalanmoqchi bo'lgan ma'lumotlar bazasini qo'llab-quvvatlaydigan tijorat JDBC drayveridan foydalanishdir. .
5) JavaSoft-dan JDBC-ODBC ko'prigi ish stoli ma'lumotlar bazasiga tarmoqqa kirishni ta'minlamaydi. JDBC-ODBC ko'prigi ODBC-ni mahalliy DLL sifatida yuklaydi va Access kabi ish stoli bazalari uchun odatiy ODBC drayverlari tarmoqqa ulanmagan. JDBC-ODBC ko'prigi RMI-JDBC ko'prigi bilan birgalikda foydalanish mumkin, ammo tarmoq orqali Access kabi ish stoli ma'lumotlar bazasiga kirish uchun. Ushbu RMI-JDBC-ODBC eritmasi bepul.
6) JDK 1.1 va JDK 1.2 ikkala JDBC va JDBC-ODBC ko'prigini o'z ichiga oladi. JDK 1.2 JDBC-ning so'nggi versiyasi bo'lgan JDBC 2.0 Core API-ni o'z ichiga oladi. JDBC yuklash pagonkasida alohida yuklab olish uchun taqdim etilgan JDBC va JDBC-ODBC ko'priklarining versiyalari faqat JDK 1.0.2 bilan foydalanish uchun mavjud.
7) ODBC 2.0 drayverlarining aksariyati ko'prik bilan ishlashi kerak. ODBC drayverlari o'rtasida funktsionallikda ba'zi bir tafovut mavjudligi sababli, ko'prikning ishlashiga ta'sir ko'rsatishi mumkin. Ko'prik Microsoft Access va FoxPro kabi mashhur kompyuter ma'lumotlar bazalari bilan ishlaydi.
8) MicroSoft J ++ JDBC-ODBC ko'prigini qo'llab-quvvatlamaydi, chunki u Java Native Interfeys (JNI) ni qo'llamaydi. Ammo har qanday Java JDBC drayveri J ++ bilan ishlashi kerak.
9) DriverManager.getConnection-ga qo'ng'iroq paytida, 'Hech qanday drayver yo'q xatosi yuzaga keladi. Buning sababi getConnection() ni chaqirishdan oldin yoki tegishli JDBC drayveringiz tomonidan tan olinmaydigan yaroqsiz JDBC URL-ni ko'rsatmasdan oldin tegishli JDBC drayverini yuklay olmagan bo'lishi mumkin. Agar siz belgilagan URL manzil sizning JDBC drayveringiz tomonidan tan olinmagan deb o'ylasangiz, sizning JDBC drayveringizning mahsulot hujjatlarini tekshirish yoki JDBC drayveringiz bilan bog'lanish yaxshiroqdir. Bunga qo'shimcha ravishda, JDBC-ODBC ko'prigidan foydalanganda, agar ushbu ko'prikka kerak bo'lgan bitta yoki undan ko'p umumiy kutubxonani yuklab olishning iloji bo'lmasa, bu xato yuz berishi mumkin. Agar bu sabab deb o'ylasangiz, ulangan kutubxonalar ko'prikka kirishiga ishonch hosil qilish uchun konfiguratsiyani tekshiring.
10) Ba'zan java.sql.DriverManager sinfi, JDK 1.0.2-ni qo'llaydigan Netscape Navigator 3.0 kabi brauzerda JDBC ilovasi ishlaganda topilmaydi. JDK1.0.2-da JDBC mavjud emasligi sababli DriverManager klassi odatda brauzerda ishlaydigan Java virtual mashinasi tomonidan topilmaydi. Bu erda veb-mijozlaringizning qo'shimcha konfiguratsiyasini talab qilmaydigan echim mavjud. Yodingizda bo'lsin, java. Paketlaridagi darslarni ko'pchilik brauzerlar xavfsizlik nuqtai nazaridan yuklay olmaydilar. Shu sababli, barcha java JDBC drayverlarining java.sql. Sinflarining jdbc.sql. Deb o'zgartirilgan versiyalari va ushbu o'zgartirilgan sinflarni ishlatadigan drayverlarining versiyalari. Agar siz jdbc.sql. Dasturini sizning kodingizga import qilsangiz (java.sql O'rniga) va sizning JDBC drayveringiz sotuvchisi tomonidan taqdim etilgan jdbc.sql. Sinflarini appletingiz kod bazasiga qo'shsangiz, unda barcha JDBC sinflari kerak bo'ladi. ilova tomonidan, DriverManager sinfini o'z ichiga olgan holda ish vaqti vaqtida brauzer tomonidan yuklab olinishi mumkin. Ushbu yechim mening ilovangizga JDK 1.0.2-ni qo'llaydigan har qanday mijoz brauzerida ishlashga imkon beradi. Sizning ilovangiz JDK 1.1-ni qo'llab-quvvatlaydigan brauzerlarda ham ishlaydi, garchi unumdorligi sababli JDK 1.1 sinflariga o'tishni xohlasangiz ham. Shuningdek, bu erda keltirilgan echim shunchaki namuna ekanligini va boshqa echimlar ham mumkinligini yodda tuting.
11) class.forName() metodiga murojaat qilish sizning JDBC drayveringizni yuklay olmasligi mumkin. Bu JDK 1.1.x-dagi xato, bu Class.forName () ni ishdan chiqishiga olib kelishi mumkin. Atrofdagi ish aniq qo'ng'iroq qilishdir: DriverManager.registerDriver (yangi YourDriverClass ()). JDK-dagi aniq muammo - bu sinf yuklovchisidagi poyga holati, bu haydovchi sinfidagi kodning statik qismini haydovchini haydovchi menejerida ro'yxatdan o'tkazish va ro'yxatdan o'tkazishga to'sqinlik qiladi.
12) Xavfsizlik sababli brauzerlar java. Paketlarini yuklamaydi. JDBC-ni JDK1.1-ga yangilanmagan brauzerlarda ishlatish uchun java.sql va java.math paketlarini jdbc.sql va jdbc.math deb qayta nomlashni maslahat beramiz. P Jure Java JDBC drayverlarini etkazib beruvchilarning aksariyati ushbu nomlangan paketlarning versiyalarini taqdim etmoqda. JDK 1.1 qo'llab-quvvatlashi sizning brauzeringizga qo'shilganida, siz o'z ilovalaringizni java. * Paket nomlariga qaytarishingiz kerak.
JDBC afzalliklari korxonalarda mavjud ma'lumotlar bazasini boshqarish tizimlarida saqlangan bo'lishiga qaramay, o'rnatilgan ma'lumotlar bazasidan foydalanishda davom etish va ma'lumotlarga osongina kirish orqali JDBC-da mavjud bo'lgan korxona ma'lumotlariga ega bo'lishlari mumkin. Rivojlanish vaqtining qisqarishi biznesga foyda keltiradi. Java va JDBC kombinatsiyasi dasturni ishlab chiqarishni oson va iqtisodiy qiladi. JDBC o'rganish oson, ishlatish oson va saqlash uchun arzon. JDBC bilan tarmoq kompyuterlari uchun nolinchi konfiguratsiya mavjud, chunki ulanish JDBC URL manzili tomonidan to'liq aniqlanganligi sababli mijoz tomonidan konfiguratsiya talab qilinadi. Bu tarmoqni hisoblash paradigmasini qo'llab-quvvatlaydi va dasturiy ta'minotni markazlashtiradi. JDBC asosiy xususiyatlari. JDBC meta-ma'lumotlarga kirish ma'lum bazaga ulanish imkoniyatlari va imkoniyatlarini tushunishi kerak bo'lgan murakkab dasturlarni ishlab chiqishga imkon beradi. Sof JDBC drayveri maxsus o'rnatishni talab qilmaydi u JDBC qo'ng'iroqlarini amalga oshiradigan ilovaning bir qismi sifatida avtomatik ravishda yuklab olinadi. JDBC ma'lumotlar bazasi ulanishlarini aniqlash uchun Internet-standart URL-larning afzalliklaridan foydalanadi. Java platformasining asosiy qismi sifatida JDBC platforma joylashgan hamma joyda mavjud. Bu shuni anglatadiki, Java dasturlari haqiqatan ham bir marta ma'lumotlar bazasi dasturlarini yozishi va istalgan joyga ma'lumot olishlari mumkin. Java dasturida ma'lumotlar bazasi ulanishi kerak bo'lganda, JDBC ulanishini yaratish uchun DriverManager.get Connection usullaridan biri qo'llaniladi. Amaldagi URL ma'lum ma'lumotlar bazasi va JDBC drayveriga bog'liq. Bu har doim "jdbc:" protokoli bilan boshlanadi, ammo qolgan qismi aniq sotuvchiga bog'liq.
|
| |