ODBC va ADO
Odatda, dasturiy ilovalar ma'lum bir dasturlash tilida (masalan, Java, C va boshqalar) yoziladi, ma'lumotlar bazalari esa boshqa ma'lumotlar bazasiga xos tilda (masalan, SQL) so'rovlarni qabul qiladi. Shuning uchun, dasturiy ta'minot ilovasi ma'lumotlar bazasidagi ma'lumotlarga kirishi kerak bo'lganda, tillarni bir-biriga tarjima qila oladigan interfeys (ilova va ma'lumotlar bazasi) talab qilinadi. Aks holda, dasturchilar o'z ilovalariga ma'lumotlar bazasiga xos tillarni o'rganishlari va kiritishlari kerak. ODBC (Ochiq ma'lumotlar bazasi ulanishi) va OLE DB (ob'ektlarni bog'lash va joylashtirish, ma'lumotlar bazasi) bu aniq muammoni hal qiladigan ikkita interfeysdir. ODBC bu maqsadda ishlatilishi mumkin bo'lgan platforma, til va operatsion tizimdan mustaqil interfeysdir. OLE DB ODBC ning vorisi hisoblanadi. ADO - OLE DB uchun oʻram.
ODBC nima?
ODBC - bu ma'lumotlar bazasini boshqarish tizimlariga (DBMS) kirish uchun interfeys. ODBC 1992 yilda SQL Access Group tomonidan ishlab chiqilgan, o'sha paytda ma'lumotlar bazasi va ilova o'rtasida aloqa o'rnatish uchun standart vosita mavjud emas edi. Bu ma'lum bir dasturlash tiliga yoki ma'lumotlar bazasi tizimiga yoki operatsion tizimga bog'liq emas. Dasturchilar ODBC interfeysidan, u ishlayotgan muhitdan yoki foydalanayotgan ma'lumotlar bazasi turidan qat'i nazar, istalgan ma'lumotlar bazasidan ma'lumotlarni so'rashi mumkin bo'lgan ilovalarni yozish uchun foydalanishi mumkin.
ODBC drayveri dastur va ma'lumotlar bazasi o'rtasida tarjimon vazifasini o'taganligi sababli, ODBC til va platforma mustaqilligiga erisha oladi. Bu shuni anglatadiki, dastur ma'lumotlar bazasining o'ziga xos tilini bilish yukidan xalos bo'ladi. Buning o'rniga u faqat ODBS sintaksisini biladi va foydalanadi va haydovchi so'rovni ma'lumotlar bazasiga tushunadigan tilga tarjima qiladi. Keyin natijalar dastur tomonidan tushuniladigan formatda qaytariladi. ODBC dasturiy ta'minot API'si ham relyatsion, ham aloqador bo'lmagan ma'lumotlar bazasi tizimlarida ishlatilishi mumkin. ODBC ning dastur va ma'lumotlar bazasi o'rtasida universal vositachi bo'lishining yana bir muhim afzalligi shundaki, har safar ma'lumotlar bazasi spetsifikatsiyasi o'zgarganda, dasturiy ta'minotni yangilash kerak emas. Faqat ODBC drayverini yangilash kifoya.
ADO nima?
ADO - bu ma'lumotlar manbalaridagi ma'lumotlarga kirish uchun interfeys vazifasini bajaradigan COM (Component Object Mode) ob'ektlari to'plami. ADO 1996 yilda Microsoft tomonidan Microsoft Data Access Components (MDAC) qismi sifatida ishlab chiqilgan. ADO ba'zi dasturlash tillarida yozilgan ilovalar va OLE DB (Microsoft tomonidan ishlab chiqilgan ma'lumotlar API va ODBC vorisi) o'rtasida o'rta ta'minot qatlamini tashkil qiladi. Dasturchilar ma'lumotlar bazasini amalga oshirishning asosiy tafsilotlarini bilmasdan ma'lumotlarga kirish uchun ADO dan foydalanishlari mumkin. ADO dan foydalanish uchun sizdan hech qanday SQL ni bilish talab etilmasa ham, SQL iboralarini uning yordamida bajarishingiz mumkin.
ODBC va ADO o'rtasidagi farq nima?
ODBC ochiq interfeys boʻlib, undan har qanday ilova tomonidan istalgan maʼlumotlar bazasi tizimi bilan bogʻlanish uchun foydalanish mumkin, ADO esa OLE DB (ODBC vorisi) atrofidagi oʻram hisoblanadi. Agar ma'lumotlar bazasi OLE (OLE bo'lmagan muhitlar) ni qo'llab-quvvatlamasa, ODBC eng yaxshi tanlovdir. Agar muhit SQL bo'lmasa, u holda siz ADO dan foydalanishingiz kerak (chunki ODBC faqat SQL bilan ishlaydi). Agar o'zaro ishlaydigan ma'lumotlar bazasi komponentlari kerak bo'lsa, ODBC o'rniga ADO dan foydalanish kerak. Biroq, 16-bitli ma'lumotlar uchun ODBC-ga kirish yagona variant (ADO 16-bitni qo'llab-quvvatlamaydi). Va nihoyat, ADO bir vaqtning o'zida bir nechta ma'lumotlar bazalariga ulanish uchun eng yaxshi tanlovdir (ODBC bir vaqtning o'zida faqat bitta ma'lumotlar bazasiga ulanishi mumkin).