I vantaggi di utilizzare SQLDataReader nel corso di un lettore che implementa IDataReader?

StackOverflow https://stackoverflow.com/questions/1574975

  •  21-09-2019
  •  | 
  •  

Domanda

Quali sono i vantaggi dell'utilizzo di uno SQLDataReader in contrapposizione ad un lettore che solo implementa IDataReader se sto utilizzando SQL Server> = 2005?

Lo SqlDataReader semplicemente hanno più funzionalità tra cui scegliere, o ci sono miglioramenti delle prestazioni utilizzando lo SqlDataReader?

Tutti gli articoli che trattano questo sarebbe apprezzato.

Grazie!

Chris

È stato utile?

Soluzione

Prima di tutto mi permetta di correggere l'equivoco: Se si utilizza SQL Server non ogni IDataReader sarà in grado di leggere i dati dal vostro MS SQL Server

In ambiente .NET (che presumo la tua domanda si applica a) ci sono due classi concrete di attuazione IDataReader che possono accedere a SQL Server. Uno è SQLDataReader e un altro è OleDbDataReader. OleDbDataReader si basa in realtà su protocollo OleDb , che è fondamentalmente un protocollo di comunicazione RDBMS.

Utilizzando IDataReader nel codice sarà (più o meno) assicurarsi la possibilità di sostituire il datareader concreto dietro di esso (ad esempio, ti dà la possibilità di passare fornitori di database. Non che io conosco nessuno che ha fatto con successo che).

Per acessing SQL Server, lo SQLDataReader specializzata è più veloce del 115% secondo questo fonte , perché utilizza i protocolli server di SQL Server native (named pipe / TCP / IP). Esso supporta anche funzioni speciali di SQL Server, ad esempio MARS.

Altri suggerimenti

.HasRows proprietà è l'unico che mi viene in mente. Non è davvero necessario però.

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