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

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?


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.

Need Your Help

Why doesn't jquery turn my array into a json string before sending to web method? jquery serialization

So far, I've only been passing javascript strings to my web methods, which get parsed, usually as Guids. but now i have a method that accepts an IList... on the client, i build this array of object...

Navigation makes both divs to scroll

javascript jquery css slider

I am using Owl Graphics sliders on my webpage.