Domanda

Quando si comunica con un database SQL Server utilizzando uno dei sistemi tipici, ODBC, OLEDB o ADO.NET, il protocollo di base sottostante è lo stesso? Tutte le differenze tra questi sistemi sono fondamentalmente solo problemi lato client?

Sono solo diverse varianti del trasferimento TDS (Tabular Data Stream)?

[MS-TDS]: Specifica del protocollo del flusso di dati tabulare

Oppure esistono modi diversi per comunicare con il server di database e ci sono differenze fondamentali tra questi protocolli?

È stato utile?

Soluzione

ODBC, OLE DB e ADO.NET sono API / framework diversi per la comunicazione con il database. Ad esempio, ADO funziona sui dati in modo connesso, principalmente utilizzando i cursori sul lato server, mentre ADO.NET funziona in modo disconnesso, estraendo rapidamente i dati dal server e memorizzandoli nella cache sul client negli oggetti del set di dati ADO.NET.

Sotto il cofano, ognuno di questi sta inviando comandi SQL a SQL Server su TDS e sta ricevendo i dati tramite TDS. OLE DB ti consente di avvicinarti a TDS per le prestazioni, mentre ODBC si estrae molto per fornire un'interfaccia coerente a molte origini dati diverse.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top