ODBC ընդդեմ OLEDB
Սովորաբար, ծրագրային հավելվածները գրված են հատուկ ծրագրավորման լեզվով (օրինակ՝ Java, C և այլն), մինչդեռ տվյալների բազաները հարցումներ են ընդունում տվյալների բազայի որևէ այլ հատուկ լեզվով (օրինակ՝ SQL): Հետևաբար, երբ ծրագրային ապահովման հավելվածին անհրաժեշտ է մուտք գործել տվյալների բազա, պահանջվում է ինտերֆեյս, որը կարող է թարգմանել լեզուներ միմյանց (հավելված և տվյալների բազա): Հակառակ դեպքում, հավելվածների ծրագրավորողները պետք է սովորեն և ներառեն տվյալների բազայի հատուկ լեզուներ իրենց հավելվածներում: ODBC (Open Database Connectivity) և OLEDB (Object Linking and Embedding, Database) երկու միջերեսներ են, որոնք լուծում են այս կոնկրետ խնդիրը:ODBC-ն հարթակ, լեզու և օպերացիոն համակարգի անկախ ինտերֆեյս է, որը կարող է օգտագործվել այդ նպատակով: OLEDB-ը ODBC-ի իրավահաջորդն է:
Ի՞նչ է ODBC-ն:
ODBC-ը տվյալների բազայի կառավարման համակարգեր (DBMS) մուտք գործելու ինտերֆեյս է: ODBC-ն մշակվել է SQL Access Group-ի կողմից 1992թ.-ին այն ժամանակ, երբ չկար ստանդարտ միջավայր տվյալների բազայի և հավելվածի միջև հաղորդակցվելու համար: Այն կախված չէ կոնկրետ ծրագրավորման լեզվից կամ տվյալների բազայի համակարգից կամ օպերացիոն համակարգից: Ծրագրավորողները կարող են օգտագործել ODBC ինտերֆեյսը գրելու ծրագրեր, որոնք կարող են հարցումներ կատարել ցանկացած տվյալների բազայից՝ անկախ այն միջավայրից, որտեղ այն աշխատում է կամ DBMS-ի տեսակից, որն օգտագործում է:
Քանի որ ODBC դրայվերը գործում է որպես թարգմանիչ հավելվածի և տվյալների բազայի միջև, ODBC-ն կարողանում է հասնել լեզվի և հարթակի անկախությանը: Սա նշանակում է, որ հավելվածն ազատվում է տվյալների բազայի հատուկ լեզվի իմացության բեռից: Փոխարենը այն կիմանա և կօգտագործի միայն ODBS շարահյուսությունը, և վարորդը հարցումը կթարգմանի տվյալների բազա՝ իրեն հասկանալի լեզվով:Այնուհետև արդյունքները վերադարձվում են հավելվածի համար հասկանալի ձևաչափով: ODBC ծրագրային ապահովման API-ն կարող է օգտագործվել ինչպես հարաբերական, այնպես էլ ոչ հարաբերական տվյալների բազայի համակարգերի հետ: ODBC-ն որպես հավելվածի և տվյալների բազայի միջև ունիվերսալ միջին ծրագիր ունենալու մեկ այլ հիմնական առավելությունն այն է, որ ամեն անգամ, երբ տվյալների բազայի ճշգրտումը փոխվում է, ծրագրաշարը թարմացման կարիք չունի: Բավական է միայն ODBC վարորդի թարմացումը:
Ի՞նչ է OLEDB-ը:
OLEDB-ը տվյալների API է, որը մշակվել է Microsoft-ի կողմից: Այն թույլ է տալիս մուտք գործել տվյալների մեծ շրջանակ տվյալների աղբյուրներից: Այն իրականացվում է Microsoft-ի COM (Component Object Mode) միջոցով: OLEDB-ը համարվում է ODBC-ի իրավահաջորդը, և այն կարող է կառավարել տվյալների աղբյուրները շատ ավելի բարձր մակարդակով՝ համեմատած ODBC-ի հետ: Ըստ էության, OLEDB-ն ընդլայնում է ODBC-ի առանձնահատկությունները ոչ հարաբերական տվյալների բազաների վրա (օրինակ՝ օբյեկտների տվյալների բազաները և աղյուսակները): Դա նշանակում է, որ OLEDB-ը կարող է օգտագործվել տվյալների բազաների հետ, որոնք չեն օգտագործում SQL: OLEDB-ը մշակվել է որպես Microsoft Data Access Components (MDAC) մաս:
Ո՞րն է տարբերությունը ODBC-ի և OLEDB-ի միջև:
Եթե ծրագրավորողը ծանոթ չէ COM-ին, ապա ODBC-ն ավելի լավ տարբերակ է: Սակայն ODBC-ն լավ է միայն հարաբերական տվյալների բազաների համար, մինչդեռ OLEDB-ը հարմար է ինչպես հարաբերական, այնպես էլ ոչ հարաբերական տվյալների բազաների համար: Եթե տվյալների բազան չի աջակցում OLE (ոչ OLE միջավայրեր), ապա ODBC-ն լավագույն ընտրությունն է: Եթե միջավայրը ոչ SQL է, ապա դուք պետք է օգտագործեք OLEDB (քանի որ ODBC-ն աշխատում է միայն SQL-ով): Նմանապես, եթե անհրաժեշտ են տվյալների բազայի փոխգործունակ բաղադրիչներ, ապա ODBC-ի փոխարեն պետք է օգտագործվի OLEDB: Այնուամենայնիվ, 16-բիթանոց տվյալների համար ODBC մուտք գործելը միակ տարբերակն է (OLEDB-ն չի աջակցում 16-բիթանոց): Վերջապես, OLEDB-ը լավագույն ընտրությունն է միանգամից մի քանի տվյալների բազաներին միանալու համար (ODBC-ն կարող է միաժամանակ միանալ միայն մեկ տվյալների բազայի):