Is there a difference in the underlying protocol for ODBC, OLEDB & ADO.NET
Asked Answered
T

1

6

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

Is this all just different flavors of TDS (Tabular Data Stream) transfer?

[MS-TDS]: Tabular Data Stream Protocol Specification

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

Thora answered 27/11, 2008 at 2:4 Comment(0)
K
11

ODBC, OLE DB and ADO.NET are different API/frameworks for communicating with the database. For example, ADO works on data in a connected fashion, primarily using server-side cursors, whereas ADO.NET operates on a disconnected fashion, pulling the data from the server quickly and caching it at the client in ADO.NET dataset objects.

Under the hood, each of these is sending SQL commands to SQL Server over TDS, and receiving data back via TDS. OLE DB allows you to get close to TDS for performance, whereas ODBC abstracts a lot to provide a consistent interface to many different data sources.

Kazachok answered 27/11, 2008 at 4:4 Comment(2)
"OLE DB allows you to get close to TDS for performance, whereas ODBC abstracts a lot to provide a consistent interface to many different data sources." - Isn't that backwards? ODBC is for SQL only, while OLEDB is more high-level and for a wider range of data sources, SQL and others.Nominate
ODBC also talk to DB server with the specified app-protocol, for MSSQL, it's TDS.Invoice

© 2022 - 2024 — McMap. All rights reserved.