Есть ли разница в базовом протоколе для ODBC, OLEDB & amp; ADO.NET

StackOverflow https://stackoverflow.com/questions/322766

Вопрос

При связи с базой данных 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 много абстрагирует, чтобы обеспечить согласованный интерфейс для множества различных источников данных.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top