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 echim sizning 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.