ODBC против OLEDB
Как правило, программные приложения написаны на определенном языке программирования (например, Java, C # и т. Д.), В то время как базы данных принимают запросы на каком-либо другом языке, специфичном для базы данных (например, SQL). Поэтому, когда прикладной программе требуется доступ к данным в базе данных, требуется интерфейс, который может переводить языки друг на друга (приложение и база данных). В противном случае прикладные программисты должны изучать и включать языки баз данных в свои приложения. ODBC (Open Database Connectivity) и OLEDB (Object Linking and Embedding, Database) - это два интерфейса, которые решают эту конкретную проблему. ODBC - это независимый от платформы, языка и операционной системы интерфейс, который можно использовать для этой цели. OLEDB является преемником ODBC.
Что такое ODBC??
ODBC - это интерфейс для доступа к системам управления базами данных (СУБД). ODBC был разработан SQL Access Group в 1992 году, когда не было стандартного средства связи между базой данных и приложением. Это не зависит от конкретного языка программирования, системы баз данных или операционной системы. Программисты могут использовать интерфейс ODBC для написания приложений, которые могут запрашивать данные из любой базы данных, независимо от среды, в которой она работает, или типа используемой СУБД..
Поскольку драйвер ODBC выступает в роли переводчика между приложением и базой данных, ODBC может достичь независимости от языка и платформы. Это означает, что приложение освобождается от бремени знания конкретного языка базы данных. Вместо этого он будет знать и использовать только синтаксис ODBS, а драйвер переведет запрос в базу данных на понятном ему языке. Затем результаты возвращаются в формате, понятном приложению. Программный API ODBC может использоваться как с реляционными, так и с нереляционными системами баз данных. Другое важное преимущество использования ODBC в качестве универсального промежуточного программного обеспечения между приложением и базой данных заключается в том, что при каждом изменении спецификации базы данных программное обеспечение не нужно обновлять. Достаточно только обновить драйвер ODBC.
Что такое OLEDB?
OLEDB - это API данных, разработанный Microsoft. Это позволяет получить доступ к данным из широкого спектра источников данных. Он реализован с использованием Microsoft COM (режим объектных объектов). OLEDB считается преемником ODBC и может обрабатывать источники данных на гораздо более высоком уровне по сравнению с ODBC. По сути, OLEDB расширяет возможности ODBC для нереляционных баз данных (например, объектных баз данных и электронных таблиц). Это означает, что OLEDB может использоваться с базами данных, которые не используют SQL. OLEDB был разработан как часть компонентов доступа к данным Microsoft (MDAC).
В чем разница между ODBC и OLEDB?
Если программист не знаком с COM, то лучше использовать ODBC. Но ODBC подходит только для реляционных баз данных, тогда как OLEDB подходит как для реляционных, так и для нереляционных баз данных. Если база данных не поддерживает OLE (не-OLE-среды), тогда ODBC - лучший выбор. Если среда не-SQL, то вы должны использовать OLEDB (потому что ODBC работает только с SQL). Точно так же, если требуются совместимые компоненты базы данных, необходимо использовать OLEDB вместо ODBC. Однако для доступа к 16-битным данным ODBC является единственной опцией (OLEDB не поддерживает 16-битную версию). Наконец, OLEDB - лучший выбор для подключения к нескольким базам данных одновременно (ODBC может подключаться только к одной базе данных одновременно).