Inquiridor
Dúvida sobre melhor forma de se manipular os bancos de dados

Pergunta
-
Caros Colegas,
A minha pergunta é a seguinte, estou começando a
desenvolver utilizando o Vb.net do visual studio, e gostaria de saber a
melhor forma para se trabalhar com bancos de dados. Na minha aplicação
pretendo deixar disponivel para se trabalhar com os Sgbd´s mais populares
que tem, (Postgresql, Mysql, Oracle, Sql Server, Firebird, Acess), e
gostaria de saber de vcs qual a melhor opção para ter esta flexibilidade na
aplicação.
Hibernate ? Odbc ? Linq ? Alias, o Linq roda no visual studio 2005 ? ou
criar as minhas proprias rotinas para tratar cada banco, ai usar as rotinas
especificas de cada banco, ex: para o postgresql usar o Npgsql ?Desde já agradeço a atenção recebida.
T+
Todas as Respostas
-
Boa Tarde,
Eu particularmente acho que o melhor é utilizar suas próprias rotinas para cada banco. É claro que portabilidade é algo sempre desejável, mas escrever instruções SQL genéricas que funcionem em qualquer banco de dados é escolher o pior denominador comum.
Sabemos que o MySQL tem o LIMIT, que o ORACLE tem o ROWNUM e que o SQL Server 2005 tem o ROW_NUMBER, mas sabemos também que esses comandos são válidos apenas em seus próprios SGBDs. O que fazer ? Ignorar o potencial de cada banco e ir de encontro a uma solução multidatabase que certamente teria o desempenho piorado ?
Sou adepto de que você deva construir uma camada de acesso para cada banco de dados e aproveitar as potencialidades dos mesmos. Afinal quem já adquiriu um banco de dados está esperando um retorno sobre o investimento e seria um desperdício não usar suas potencialidades.
No entanto, esse é apenas um ponto de vista. Certamente teremos mais contribuições por aqui
[ ]s,
Gustavo
- Sugerido como Resposta C. Augusto Proiete [MVP] sábado, 3 de outubro de 2009 20:07
-
Oi Marco, blz?
Cara, concordo com o Gustavo, assino em baixo do que ele falou.
Porém eu entendo o que vc está dizendo, quer saber se tem uma "boa prática" para realizar as conexões com bancos de dados.
Bom, existe um pseudo-framework que tem uma porção de classes prontas (da própria Microsoft) chamado DAAB Data Access Application Block. É possível fazer o download no link: http://www.microsoft.com/downloads/details.aspx?FamilyID=5a14e870-406b-4f2a-b723-97ba84ae80b5&DisplayLang=en
Nos lugares que eu já passei sempre procuro implementar estas classes, ajuda muito na programação. Vale muito a pena utilizar. Só que sempre trabalhamos com um único SGBD, e posso afirmar que é muito bom.
Espero que isso possa lhe ser útil.
Abs, -
Opa concordo com os colegas nada melhor que o foco em um unico banco de dados
voce vai conseguir melhorar e muito o desempenho e não ficara preso a comandos SQL padrão
mas caso mesmo assim desejar
use programação N camadas criando uma somente para o banco de dados em especifico
ou use os Data Providers
Falow