Różnica między ODBC a OLEDB

ODBC vs OLEDB

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 OLEDB (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. OLEDB jest następcą ODBC.

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 r., 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 OLEDB?

OLEDB to interfejs API danych opracowany przez Microsoft. Umożliwia dostęp do danych z szerokiej gamy źródeł danych. Jest implementowany przy użyciu COM firmy Microsoft (Component Object Mode). OLEDB jest uważany za następcę ODBC i może obsługiwać źródła danych na znacznie wyższym poziomie niż ODBC. Zasadniczo OLEDB rozszerza funkcje ODBC na nierelacyjne bazy danych (np. Bazy danych obiektów i arkusze kalkulacyjne). Oznacza to, że OLEDB może być używany z bazami danych, które nie używają SQL. OLEDB został opracowany jako część Microsoft Data Access Components (MDAC).

Jaka jest różnica między ODBC a OLEDB?

Jeśli programista nie zna COM, lepszym rozwiązaniem jest ODBC. Jednak ODBC nadaje się tylko do relacyjnych baz danych, podczas gdy OLEDB nadaje się zarówno do relacyjnych, jak i nierelacyjnych baz danych. 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ć OLEDB (ponieważ ODBC działa tylko z SQL). Podobnie, jeśli wymagane są komponenty interoperacyjnej bazy danych, zamiast ODBC należy użyć OLEDB. Jednak w przypadku danych 16-bitowych dostęp do ODBC jest jedyną opcją (OLEDB nie obsługuje 16-bitów). Wreszcie, OLEDB jest najlepszym wyborem do łączenia się z wieloma bazami danych jednocześnie (ODBC może łączyć się tylko z jedną bazą danych na raz).