none
opinião sobre dataset RRS feed

  • Pergunta

  • Senhores(as) tenho um sistema que já está em produção há bastante tempo e estou migrando na mão para o VS2008 (o atual está em VS2003), nesse sistema acesso os dados através de classes, existem o fator de ser mais prático, mais em compensação certas facilidades das novas ferramentas algumas não consigo acessar por meio dessas minhas classes, ainda.

    Gostaria de saber a sugestão de vcs sobre dataset, hj nas minhas classes tenho constantes que uso em termo local qdo estou testando a aplicação onde aponta para um banco de dados de desenvolvimento, qdo vou publicar mudo as constantes para o banco de produção, isso é super prático. Minha pergunta é :

    Usando dataset, teria que ter dois dataset um apontando para o banco de desenvolvimento e outro de produção e qdo eu for publicar a página como faço para deixar só o banco de produção ?

    Como vcs fazem nessa situação ?

    Junior
    terça-feira, 25 de agosto de 2009 18:37

Respostas

  • Junior

    Sua string de conexão deve ficar no web config e não em uma classe, pois se precisar mudar não precisa recompilar a aplicação. E ai fica fácil vc alternar entre servidor de produção e desenvolvimento. Os seus datasets tem que etar configurados para buscar sua string de conexão no web config, entendeu ? Ai fica tudo automatico como o Oriane disse acima.

    é isso

    Espero ter ajudado
    []'s
    Sanses


     
    --> se a resposta foi util, marque-a como util, obrigado!
    • Sugerido como Resposta Bruno F. Gabriel terça-feira, 25 de agosto de 2009 19:14
    • Marcado como Resposta Junior_luiz terça-feira, 25 de agosto de 2009 19:55
    terça-feira, 25 de agosto de 2009 19:11

Todas as Respostas

  • Olá Junior, como vai ?

    Pelo o que entendi, você estaria duplicando código, lhe dando mais tarbalho para manutenção. DataSets lhe permitem desenvolver de forma muito fácil e rápida, porém em um projeto onde contem muita informação trafegando pela rede, ele tende a ser lento pois carrega muita referência do banco de dados e de suas tabelas. Vou citar algumas boas práticas para acesso a dados comum hoje em dia no desenvolvimento de software:
    1. Utilize classes do tipo POCO e trabalhe com listas de objetos (com as classes List<T>, Dictionary<K,T> na namespace System.Collections.Generics);
    2. Se puder, separe sua aplicação em camadas (acesso a dados/regras de negócios/apresentação), veja este artigo: http://www.linhadecodigo.com.br/Artigo.aspx?id=1898 e vá seguindo as etapas;
    3. A string de conexão, mantenha esta no web.config/app.config (na versão 3.5 do .net isso ja é possível em seu arquivo de configuração), assim fica fácil você alterar o caminho de sua base de dados (servidor, usuario, senha);
    4. Desative o debug em ambiente de produção;
    Acho que assim, você terá total controle sobre seus objetos e campos, manipulando de forma detalhada cada registro do seu sistema!

    OBS: Se prefere a facilidade que o dataset proporciona, pesquise sobre uma ferramenta OR/M como Entity Framework (disponivel no vs2008 sp1 ..versão 1.0 ... e vs2010 beta 1...versão 4.0), NHibernate (versão .Net do clássico Hibernate aplicado em Java), SubSonic (grande ferramenta www.subsonic.com.br), entre outros...

    Espero que ajude
    um abraço
    Att,


    Felipe Oriani - www.felipeoriani.com.br

    ...O rio atinge os seu objetivos porque aprendeu a contornas os obstáculos... por André Luiz
    terça-feira, 25 de agosto de 2009 18:50
  • Tudo bem Felipe mais acho que vc não entendeu o meu questionamento, é o seguinte tenho uma classe que se chama conexao nela tenho constantes que apontam para o servidor fisico tipo exemplo abaixo :

    '''Maquina local
            Public Const CF_DSConexao As String = "Server=servidor desenvolvimento;DataBase=database desenvolvimento;Uid=sa;Pwd=439"
    
    
    'servidor
            ''Public Const CF_DSConexao As String = "Server=servidor producao;DataBase=banco producao;Uid=sa;Pwd=3y"
    Qdo vou publicar comento a constante "maquina local" e descomento a constante "servidor" é moleza, agora se vou usar dataset na minha aplicação como devo proceder ? crio um dataset para o servidor local e qdo vou publicar tenho que mudar isso antes de publicar ou coloco dois dataset e desabilito um ?


    Junior
    terça-feira, 25 de agosto de 2009 19:01
  • Junior

    Sua string de conexão deve ficar no web config e não em uma classe, pois se precisar mudar não precisa recompilar a aplicação. E ai fica fácil vc alternar entre servidor de produção e desenvolvimento. Os seus datasets tem que etar configurados para buscar sua string de conexão no web config, entendeu ? Ai fica tudo automatico como o Oriane disse acima.

    é isso

    Espero ter ajudado
    []'s
    Sanses


     
    --> se a resposta foi util, marque-a como util, obrigado!
    • Sugerido como Resposta Bruno F. Gabriel terça-feira, 25 de agosto de 2009 19:14
    • Marcado como Resposta Junior_luiz terça-feira, 25 de agosto de 2009 19:55
    terça-feira, 25 de agosto de 2009 19:11
  • Olá Junior,

    Como disse, utilize o web.config para manipular a connectionstring. Isso é possível no .Net 2.0+ (superior). Veja a documentação da MSDN: http://msdn.microsoft.com/en-us/library/bf7sd233.aspx

    Espero que ajude
    Att,


    Felipe Oriani - www.felipeoriani.com.br

    ...O rio atinge os seu objetivos porque aprendeu a contornas os obstáculos... por André Luiz
    terça-feira, 25 de agosto de 2009 19:20