ODBC vs ADO
Zazwyczaj aplikacje są napisane 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 też, gdy aplikacja potrzebuje dostępu do danych w bazie danych, wymagany jest interfejs, który może tłumaczyć między sobą języki (aplikacja i baza danych). W przeciwnym razie programiści aplikacji muszą uczyć się i włączać do swoich aplikacji języki specyficzne dla baz danych. ODBC (Open Database Connectivity) i OLE DB (Object Linking and Embedding, Database) to dwa interfejsy, które rozwiązują ten konkretny problem. ODBC to interfejs niezależny od platformy, języka i systemu operacyjnego, 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 w czasie, gdy nie było standardowego medium do komunikacji między bazą danych a aplikacją. Nie zależy od konkretnego języka programowania, systemu baz danych ani systemu operacyjnego. Programiści mogą używać interfejsu ODBC do pisania aplikacji, które mogą wysyłać zapytania o dane z dowolnej bazy danych, niezależnie od środowiska, w którym jest uruchomiona, lub typu używanego systemu DBMS.
Ponieważ sterownik ODBC działa jako tłumacz między aplikacją a bazą danych, ODBC jest w stanie osiągnąć niezależność od języka i platformy. Oznacza to, że aplikacja jest zwolniona z obowiązku znajomości języka specyficznego dla bazy danych. Zamiast tego będzie znał i używał tylko składni ODBS, a sterownik przetłumaczy zapytanie do bazy danych w zrozumiałym dla siebie języku. Następnie wyniki są zwracane w formacie zrozumiałym dla aplikacji. Oprogramowanie API ODBC może być używane 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 za każdym razem, gdy zmienia się specyfikacja bazy danych, oprogramowanie nie wymaga aktualizacji. Wystarczająca byłaby tylko aktualizacja sterownika ODBC.
Co to jest ADO?
ADO to zbiór obiektów COM (Component Object Mode), które działają jako interfejs umożliwiający dostęp do danych w źródłach danych. ADO został opracowany w 1996 roku przez Microsoft jako część Microsoft Data Access Components (MDAC). ADO tworzy warstwę pośrednią między aplikacjami napisanymi w jakimś języku programowania a OLE DB (interfejs API danych opracowany przez Microsoft i następcę ODBC). Programiści mogą używać ADO do uzyskiwania dostępu do danych bez znajomości podstawowych szczegółów implementacji bazy danych. Chociaż nie musisz znać języka SQL, aby korzystać z ADO, z pewnością możesz wykonywać instrukcje SQL za jego pomocą.
Jaka jest różnica między ODBC a ADO?
ODBC to otwarty interfejs, który może być używany przez dowolną aplikację do komunikacji z dowolnym systemem bazodanowym, podczas gdy ADO to wrapper wokół OLE DB (który jest następcą ODBC). Jeśli baza danych nie obsługuje OLE (środowiska inne niż OLE), najlepszym wyborem jest ODBC. Jeśli środowisko jest inne niż SQL, musisz użyć ADO (ponieważ ODBC działa tylko z SQL). Jeśli wymagane są interoperacyjne komponenty bazy danych, zamiast ODBC należy użyć ADO. Jednak dla danych 16-bitowych dostęp do ODBC jest jedyną opcją (ADO nie obsługuje formatu 16-bitowego). Wreszcie, ADO to najlepszy wybór do łączenia się z wieloma bazami danych naraz (ODBC może łączyć się tylko z jedną bazą danych naraz).