ODBC vs ADO
Zazwyczaj aplikacje są pisane w określonym języku programowania (takim jak Java, C # itp.), Podczas gdy bazy danych akceptują zapytania w innym języku specyficznym dla bazy danych (takim jak SQL). Dlatego, gdy aplikacja potrzebuje dostępu do danych w bazie danych, wymagany jest interfejs, który może tłumaczyć na siebie języki (aplikacja i baza danych). W przeciwnym razie programiści aplikacji muszą uczyć się i włączać języki specyficzne dla baz danych do swoich aplikacji. ODBC (Open Database Connectivity) i OLE DB (Object Linking and Embedding, Database) to dwa interfejsy, które rozwiązują ten konkretny problem. ODBC to niezależny od platformy, języka i systemu operacyjnego interfejs, który można wykorzystać do tego celu. OLE DB jest następcą ODBC. ADO to opakowanie dla OLE DB.
Co to jest ODBC?
ODBC to interfejs umożliwiający dostęp do systemów zarządzania bazami danych (DBMS). ODBC został opracowany przez SQL Access Group w 1992 roku, kiedy nie było standardowego medium do komunikacji między bazą danych a aplikacją. Nie zależy od konkretnego języka programowania, systemu baz danych lub systemu operacyjnego. Programiści mogą używać interfejsu ODBC do pisania aplikacji, które mogą wyszukiwać dane z dowolnej bazy danych, bez względu na środowisko, w którym działa lub typ używanego DBMS.
Ponieważ sterownik ODBC działa jako tłumacz między aplikacją a bazą danych, ODBC jest w stanie uzyskać niezależność od języka i platformy. Oznacza to, że aplikacja jest zwolniona z ciężaru znajomości języka specyficznego dla bazy danych. Zamiast tego będzie wiedział i używał składni ODBS, a sterownik przetłumaczy zapytanie do bazy danych w języku, który może zrozumieć. Następnie wyniki są zwracane w formacie zrozumiałym dla aplikacji. Interfejs API oprogramowania ODBC może być używany zarówno z relacyjnymi, jak i nierelacyjnymi systemami baz danych. Inną ważną zaletą posiadania ODBC jako uniwersalnego oprogramowania pośredniego między aplikacją a bazą danych jest to, że przy każdej zmianie specyfikacji bazy danych oprogramowanie nie musi być aktualizowane. Wystarczy tylko aktualizacja sterownika ODBC.
Co to jest ADO?
ADO to zbiór obiektów COM (Component Object Mode), które działają jako interfejs dostępu do danych w źródłach danych. ADO zostało opracowane w 1996 roku przez Microsoft jako część Microsoft Data Access Components (MDAC). ADO tworzy warstwę oprogramowania pośredniego między aplikacjami napisanymi w pewnym języku programowania a OLE DB (interfejs API danych opracowany przez Microsoft i następcę ODBC). Programiści mogą korzystać z ADO w celu uzyskania dostępu do danych bez znajomości podstawowych szczegółów implementacji bazy danych. Chociaż nie jest wymagana znajomość języka SQL do korzystania z ADO, z pewnością można wykonywać instrukcje SQL przy jego użyciu.
Jaka jest różnica między ODBC a ADO?
ODBC jest otwartym interfejsem, z którego może korzystać każda aplikacja do komunikacji z dowolnym systemem baz danych, podczas gdy ADO jest opakowaniem wokół OLE DB (który jest następcą ODBC). Jeśli baza danych nie obsługuje OLE (środowiska inne niż OLE), ODBC jest najlepszym wyborem. Jeśli środowisko nie jest SQL, musisz użyć ADO (ponieważ ODBC działa tylko z SQL). Jeśli wymagane są komponenty interoperacyjnej bazy danych, zamiast ODBC należy użyć ADO. Jednak dla 16-bitowych danych dostęp do ODBC jest jedyną opcją (ADO nie obsługuje 16-bitów). Wreszcie, ADO jest najlepszym wyborem do łączenia się z wieloma bazami danych jednocześnie (ODBC może łączyć się tylko z jedną bazą danych na raz).