Есть ли разница в базовом протоколе для ODBC, OLEDB и ADO.NET? - PullRequest
6 голосов
/ 27 ноября 2008

При связи с базой данных SQL Server с использованием одной из типичных систем, ODBC, OLEDB или ADO.NET, базовый протокол остается прежним? Являются ли все различия между этими системами в основном только проблемами на стороне клиента?

Это все разные разновидности передачи TDS (потока табличных данных)?

[MS-TDS]: спецификация протокола потока табличных данных

Или существуют разные способы связи с сервером базы данных, и между этими протоколами есть принципиальная разница?

1 Ответ

11 голосов
/ 27 ноября 2008

ODBC, OLE DB и ADO.NET - это разные API / структуры для связи с базой данных. Например, ADO работает с данными подключенным способом, в основном с использованием серверных курсоров, тогда как ADO.NET работает с отключенным способом, быстро извлекая данные с сервера и кэшируя их на клиенте в объектах набора данных ADO.NET.

В каждом из них каждая из этих команд отправляет команды SQL на SQL Server через TDS и получает данные обратно через TDS. OLE DB позволяет вам приблизиться к производительности TDS, тогда как ODBC много абстрагирует, чтобы обеспечить согласованный интерфейс для множества различных источников данных.

...