Есть ли разница в базовом протоколе для ODBC, OLEDB & amp; ADO.NET
-
11-07-2019 - |
Вопрос
При связи с базой данных SQL Server с использованием одной из типичных систем, ODBC, OLEDB или ADO.NET, базовый протокол остается прежним? Являются ли все различия между этими системами в основном только проблемами на стороне клиента?
Это все разные разновидности передачи TDS (потока табличных данных)?
[MS-TDS]: спецификация протокола табличного потока данных р>
Или существуют разные способы связи с сервером базы данных, и между этими протоколами есть принципиальная разница?
Решение
ODBC, OLE DB и ADO.NET - это разные API / среды для взаимодействия с базой данных. Например, ADO работает с данными подключенным способом, в основном с использованием серверных курсоров, тогда как ADO.NET работает с отключенным способом, быстро извлекая данные с сервера и кэшируя их на клиенте в объектах набора данных ADO.NET. Р>
Каждая из этих команд отправляет команды SQL на SQL Server через TDS и получает данные обратно через TDS. OLE DB позволяет вам приблизиться к TDS по производительности, тогда как ODBC много абстрагирует, чтобы обеспечить согласованный интерфейс для множества различных источников данных.