ODBC vs ADO
Tipično su softverske aplikacije napisane na određenom programskom jeziku (kao što su Java, C #, itd.), Dok baze podataka prihvaćaju upite na nekom drugom jeziku specifičnom za bazu podataka (kao što je SQL). Stoga, kada softverska aplikacija treba pristupiti podacima u bazi podataka, potrebno je sučelje koje može međusobno prevesti jezike (aplikacija i baza podataka). Inače, programeri aplikacija trebaju naučiti i u svoje jezike ugraditi jezike određene baze podataka. ODBC (Open Database Connectivity) i OLE DB (Object Linking and Embedding, Database) dva su sučelja koja rješavaju ovaj specifični problem. ODBC je sučelje neovisno o platformi, jeziku i operativnom sustavu koje se može koristiti u tu svrhu. OLE DB je nasljednik ODBC-a. ADO je omot za OLE DB.
Što je ODBC?
ODBC je sučelje za pristup sustavima za upravljanje bazama podataka (DBMS). ODBC je razvila SQL Access Group 1992. godine u vrijeme kada nije postojao standardni medij za komunikaciju između baze podataka i aplikacije. To ne ovisi o određenom programskom jeziku ili sustavu baza podataka ili operativnom sustavu. Programeri mogu koristiti ODBC sučelje za pisanje aplikacija koje mogu tražiti podatke iz bilo koje baze podataka, bez obzira na okruženje u kojem je pokrenuta ili tip DBMS-a koji koristi.
Budući da ODBC pokretački program djeluje kao prevoditelj između aplikacije i baze podataka, ODBC je u stanju postići neovisnost o jeziku i platformi. To znači da je aplikacija oslobođena tereta poznavanja jezika baze podataka. Umjesto toga, on će znati i koristiti samo sintaksu ODBS, a pokretački program prevest će upit u bazu podataka na jeziku koji može razumjeti. Zatim se rezultati vraćaju u formatu koji aplikacija može razumjeti. API softvera ODBC može se koristiti i s relacijskim i sa nerelacijskim sustavima baza podataka. Još jedna glavna prednost postojanja ODBC-a kao univerzalnog međuopreme između aplikacije i baze podataka je ta što svaki put kada se promijene specifikacije baze podataka, softver ne treba ažurirati. Bilo bi dovoljno samo ažuriranje ODBC upravljačkog programa.
Što je ADO?
ADO je zbirka COM (Component Object Mode) objekata koji djeluju kao sučelje za pristup podacima u izvorima podataka. ADO je 1996. razvio Microsoft kao dio Microsoftovih komponenata za pristup podacima (MDAC). ADO formira međuprogramski sloj između aplikacija napisanih na nekom programskom jeziku i OLE DB-a (podatkovni API koji su razvili Microsoft i nasljednik ODBC-a). Programeri mogu koristiti ADO za pristup podacima bez poznavanja temeljnih detalja implementacije baze podataka. Iako za upotrebu ADO-a ne morate znati bilo koji SQL, zasigurno možete izvršiti SQL izraze koristeći ga.
Koja je razlika između ODBC i ADO?
ODBC je otvoreno sučelje, koje svaka aplikacija može koristiti za komunikaciju s bilo kojim sustavom baze podataka, dok je ADO omotač oko OLE DB-a (koji je nasljednik ODBC-a). Ako baza podataka ne podržava OLE (ne-OLE okruženja), onda je ODBC najbolji izbor. Ako okruženje nije SQL, tada morate koristiti ADO (jer ODBC radi samo s SQL-om). Ako su potrebne interoperabilne komponente baze podataka, tada se umjesto ODBC mora koristiti ADO. Međutim, za 16-bitne podatke pristup je ODBC-u jedina opcija (ADO ne podržava 16-bitne). Napokon, ADO je najbolji izbor za povezivanje s više baza podataka odjednom (ODBC se istovremeno može povezati samo s jednom bazom podataka).