Pergunta

Quais são as vantagens de usar um sqldatarader, em oposição a um leitor que apenas implementa o idatarader se eu estiver usando o servidor SQL> = 2005?

O sqldatareader simplesmente tem mais funcionalidade para escolher ou há melhorias de desempenho usando o sqldatareader?

Quaisquer artigos que discutam isso seriam apreciados.

Obrigado!

Chris

Foi útil?

Solução

Antes de tudo, deixe -me corrigir seu mal -entendido: se você estiver usando o servidor SQL, nem todos os idatarader poderão ler dados do seu MS SQL Server

No ambiente .NET (ao qual presumo que sua pergunta se aplique), há duas classes de concreto que implementam o IDATAREADER que podem acessar o SQL Server. Um é o sqldatareader e outro é OLEDBDATAREADER. OLEDBDATAREADER realmente depende do Protocolo OLEDB, que é basicamente um protocolo de comunicação RDBMS.

O uso do IDATARADER no seu código (mais ou menos) verá que você pode substituir o concreto DataReader por trás dele (por exemplo, dando a você a capacidade de alternar os fornecedores de banco de dados. Não que eu conheça alguém que tenha feito isso com sucesso).

Para acessar o SQL Server, o Sqldatareader especializado é mais rápido em 115% de acordo com este fonte, porque ele usa os protocolos nativos do SQL Server (denominado Pipes/TCP/IP). Ele também suporta recursos especiais do SQL Server, como o MARS.

Outras dicas

.Hasrows A propriedade é a única que consigo pensar. Não é realmente necessário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top