msdn10_capa.JPG

Clique aqui para ler todos os artigos desta edição

 

Novidades em ADO.NET 2.0 - Parte I

por Joel Pereira

 

A biblioteca ADO.NET oferece inúmeras funcionalidades de acesso a banco de dados. Este artigo descreve de forma resumida as novidades que o usuário encontrará na versão Beta 1 do .NET Framework 2.0, disponível no segundo semestre de 2004.  A lista abaixo não reflete necessariamente o conteúdo da versão final do Visual Studio 2005, que poderá adicionar ou remover novidades desta lista sem prévio aviso.

Podemos classificar as novidades no ADO.NET 2.0 em três grupos de funcionalidade: gerais, DataSet, integração com SQL Server 2005.

Funcionalidades Gerais

Tracing – Como saber o que está acontecendo internamente quando se executa consultas longas do tipo SqlDataAdapter.Update()? Agora você poderá utilizar a infraestrutura de tracing adicionada aos componentes ADO.NET.  Você pode habilitar e desabilitar o tracing sem ter que alterar ou copiar nenhum código, tanto em ambiente de teste como em produção.

Classe DBConnectionStringBuilder - Você fica em dúvida toda vez que tem que escrever uma ConnectionString e recorre a documentação MSDN para saber quais as chaves disponiveis que você pode mudar? A classe DBConnectionStringBuilder e as classes derivadas especificas a cada provedor, em conjunto com IntelliSense, resolvem o problema de contrução de ConnectionStrings, além de como salvar e recuperar tais strings a partir de arquivos de configuração.

Connection Pooling – Aqueles que usam Connection Pooling ficarão felizes em saber que ADO.NET 2.0 disponibiliza interfaces para executar um ‘reset’ de todos os Pools ou um específico. Atualmente apenas os provedores SqlClient e OracleClient implementam tal funcionalidade.

Classes SqlDataAdapter e OracleDataAdapter – As operações de atualização (INSERT/UPDATE/DELETE) do banco de dados a partir de um DataSet podem ser realizadas em ‘batches’ de comandos. Ao invés de enviar um comando de atualização por vez ao servidor, um número configurável de comandos de atualização serão agrupados e enviados uma única vez ao servidor.  Esta nova implementação melhora tanto o desempenho da execução dos comandos de atualização, quanto o volume de tráfego na rede.

Ambientes Parcially-Trusted – Nas versões anteriores ao ADO.NET 2.0 apenas o provedor SqlClient podia ser utilizado em ambientes não Full-Trust.  Em ADO.NET 2.0 todos os 4 provedores, SqlClient, OracleClient, provedores ODBC  e provedores OLEDB, podem ser configurados para ambientes Partially-Trusted.

Informação sobre esquema do banco de dados – O novo metodo GetSchema() possibilita a busca de informações sobre o esquema do banco de dados, tais como, os bancos de dados num servidor, as tabelas de um determinado banco de dados, entre outras.  Para os criadores de ferramentas que analisam os esquemas de um servidor, este novo metodo unifica a forma de buscar informações de esquema em diferentes produtos.

Utilizando os tipos do servidor – Existem duas categorias de tipos num programa ADO.NET; os tipos básicos do CLR e os tipos básicos do banco de dados.  Por exemplo, o tipo que representa um número inteiro de 32 bits no CLR é System.Int32, já para representar este tipo no banco de dados Sql Server utiliza-se o System.Data.SqlTypes.SqlInt32. ADO.NET 2.0 permite que o desenvolvedor trabalhe apenas com os tipos System.Data.SqlTypes, pois as classes DataSet and SqlDataAdapter passaram a suportar operações que envolvem apenas tais tipos.

Conclusão

Cada item apresentado na lista acima é digno de um artigo que descreva detalhadamente os problemas que estejam sendo resolvidos, diferentes configurações, comportamentos, melhores práticas, e outras informações relevantes, entretanto o objetivo deste artigo é apresentar uma visão geral das novidades em ADO.NET 2.0.  Na próxima edição continuarei a lista com as funcionalidades relativas a classe DataSet e integração com o Sql Server 2005.

 

Referencia:

Visual Studio 2005 Beta 1: http://lab.msdn.microsoft.com/vs2005/