none
Dúvida sobre melhor forma de se manipular os bancos de dados RRS feed

  • 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+

     

    quinta-feira, 12 de junho de 2008 20:06

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

     

    quinta-feira, 12 de junho de 2008 20:26
  • 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,
    quarta-feira, 18 de junho de 2008 15:28
  • 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
    terça-feira, 24 de junho de 2008 01:33