Is there a difference in the underlying protocol for ODBC, OLEDB, and ADO.NET

When communicating with a SQL Server database using one of the typical ODBC, OLEDB, or ADO.NET systems, is the basic underlying protocol the same? Are all the differences between these systems mainly related to client-side issues?

These are all just different tastes of transmitting TDS (tabular data stream)?

[MS-TDS]: Table Data Protocol Specification

Or are there different ways to talk to the database server and is there a fundamental difference between these protocols?

+6
sql-server protocols odbc oledb
source share
1 answer

ODBC, OLE DB and ADO.NET are different APIs / frameworks for communicating with the database. For example, ADO works with data in connected mode, mainly using server cursors, while ADO.NET works in a disconnected way, quickly pulling data from the server and caching it on the client in ADO.NET dataset objects.

Under the hood, each of them sends SQL Server SQL commands through TDS and receives data back through TDS. OLE DB allows you to get closer to TDS for performance, while ODBC abstracts a lot to provide a consistent interface for many different data sources.

+11
source share

All Articles