Pregunta

¿Cuáles son las ventajas de utilizar un SQLDataReader en contraposición a un lector que sólo implementa IDataReader si estoy usando SQL Server> = 2005?

¿El SQLDataReader simplemente tiene más funcionalidad para elegir, o hay mejoras de rendimiento utilizando el SQLDataReader?

Cualquier artículo que discuten este sería apreciada.

Gracias!

Chris

¿Fue útil?

Solución

En primer lugar, permítanme corregir su mala interpretación: Si está utilizando SQL Server no todos los IDataReader será capaz de leer los datos de MS SQL Server

En el entorno .NET (que supongo que su pregunta se aplica a) hay dos clases concretas de aplicación IDataReader que pueden acceder a SQL Server. Una de ellas es SQLDataReader y otra es OleDbDataReader. OleDbDataReader se basa en realidad en el OleDb protocolo, que es básicamente un protocolo de comunicación RDBMS.

El uso de IDataReader en su código (más o menos) asegurarse de que puede sustituir a la datareader concreto detrás de él (por ejemplo, que le da la capacidad de los proveedores de bases de datos de conmutación. No es que yo conozco a nadie que lo hizo con éxito que).

Para acessing SQL Server, el SQLDataReader especializado es más rápido en un 115%, según esta fuente , ya que utiliza los protocolos de servidor SQL nativo (llamado tuberías / TCP / IP). También es compatible con especial SQL Server ofrece como Marte.

Otros consejos

.HasRows propiedad es el único que se me ocurre. En realidad no es sin embargo necesario.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top