Existe uma diferença no protocolo subjacente para ODBC, OLEDB e ADO.NET
-
11-07-2019 - |
Pergunta
Ao comunicar a um banco de dados SQL Server usando um dos sistemas típicos, ODBC, OLEDB ou ADO.NET, é o protocolo básico subjacente o mesmo? São todas as diferenças entre estes sistemas, basicamente, apenas cliente questões colaterais?
Esta é tudo apenas diferentes sabores de TDS (Tabular Data Stream) de transferência?
[MS-TDS]: Tabela de dados sequência Protocolo Especificação
ou há maneiras reais diferentes para conversar com o servidor de banco de dados e há diferença fundamental entre esses protocolos?
Solução
ODBC, OLE DB e ADO.NET são diferentes API / frameworks para se comunicar com o banco de dados. Por exemplo, ADO funciona em dados de uma forma ligada, principalmente usando cursores do lado do servidor, enquanto ADO.NET opera em um modo desconectado, puxando os dados do servidor de forma rápida e cache-lo no cliente em ADO.NET dataset objetos.
Sob o capô, cada uma delas é o envio de comandos SQL para o SQL Server através de TDS, e receber de volta os dados via TDS. OLE DB permite que você chegar perto de TDS para o desempenho, enquanto ODBC abstrai muito a oferecer uma interface consistente para muitas fontes de dados diferentes.