none
Como alterar a connection string em tempo de execução - Urgente RRS feed

  • Pergunta

  • Amigos, estou preciso muito de ajuda.

    Eu desenvolvi um aplicativo em VB + WPF + Entity voltado pra desktop, está tudo funcionando. Agora eu preciso instalar o aplicativo no cliente, porém quando eu gerei o modelo, foi salvo a connection string no app.config normalmente. O problema é que o caminho do banco de dados no meu cliente é diferente do meu computador, eu preciso que quando o aplicativo seja executado o caminho do banco na connection string seja alterado, com fazer isso? (em outra palavras, como fazer o modelo se conectar em outro servidor quando a aplicação for executada, sem que eu tenha que mudar manualmente no app.config).

    obrigado.


    Ricardo S. Pulini
    segunda-feira, 14 de março de 2011 17:31

Respostas

  • Ricardo você tem algumas opções nesse caso...

     

    Como disse o Malange você pode gravar um arquivo texto ou xml com o caminho para o BD e carregar o APP config por lá.

    Para alterar o App config ou simplesmente montar a string de conexão vc deve fazer assim:

     

    using System.Configuration;

     

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

    string con = "Data Source="+ SEU_DATASOURCE +";Initial Catalog="+ CAMINHO_DO_BANCO +";User ID="+ LOGIN +";Password="+ SENHA;

    config.ConnectionStrings.ConnectionStrings["NOME_DATA_SUA_CONNECTIONSTRING"].ConnectionString = con;

    config.Save(ConfigurationSaveMode.Modified); // Salva o que foi modificado

    ConfigurationManager.RefreshSection("connectionStrings"); // Atualiza no app o bloco connectionStrings

    Properties.Settings.Default.Reload(); // Recarrega os dados de conexão

     

    O segredo é vc saber os dados da sua string de conexão...

    espero ter ajudado

    quarta-feira, 16 de março de 2011 20:14

Todas as Respostas

  • Amigos, estou preciso muito de ajuda.

    Eu desenvolvi um aplicativo em VB + WPF + Entity voltado pra desktop, está tudo funcionando. Agora eu preciso instalar o aplicativo no cliente, porém quando eu gerei o modelo, foi salvo a connection string no app.config normalmente. O problema é que o caminho do banco de dados no meu cliente é diferente do meu computador, eu preciso que quando o aplicativo seja executado o caminho do banco na connection string seja alterado, com fazer isso? (em outra palavras, como fazer o modelo se conectar em outro servidor quando a aplicação for executada, sem que eu tenha que mudar manualmente no app.config).

    obrigado.


    Ricardo S. Pulini

    cria a sua propria app.config num ficheiro texto e pega o caminho apartir dai ele aoutomatucamente grava como caminho certo na aplicacao.

     


    Just Be Humble Malange!
    terça-feira, 15 de março de 2011 16:56
  • Ricardo você tem algumas opções nesse caso...

     

    Como disse o Malange você pode gravar um arquivo texto ou xml com o caminho para o BD e carregar o APP config por lá.

    Para alterar o App config ou simplesmente montar a string de conexão vc deve fazer assim:

     

    using System.Configuration;

     

    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

    string con = "Data Source="+ SEU_DATASOURCE +";Initial Catalog="+ CAMINHO_DO_BANCO +";User ID="+ LOGIN +";Password="+ SENHA;

    config.ConnectionStrings.ConnectionStrings["NOME_DATA_SUA_CONNECTIONSTRING"].ConnectionString = con;

    config.Save(ConfigurationSaveMode.Modified); // Salva o que foi modificado

    ConfigurationManager.RefreshSection("connectionStrings"); // Atualiza no app o bloco connectionStrings

    Properties.Settings.Default.Reload(); // Recarrega os dados de conexão

     

    O segredo é vc saber os dados da sua string de conexão...

    espero ter ajudado

    quarta-feira, 16 de março de 2011 20:14
  • Diego, bom dia.

     

    Muito obrigado era exatamente isso que eu estava precisando.

    Obrigado tb aos outros colegas pelas dicas.

    Abraço

    Ricardo.


    Ricardo S. Pulini
    quinta-feira, 17 de março de 2011 11:08
  • ESTOU COM O MESMO ERRO E ACREDITO QUE ESTE TOPICO IRA ME AJUDAR, MAS UMA DUVIDA, ONDE INSIRO ESTE BLOCO DE CÓDIGO "using System.Configuration; ..." ???

    gleiterson

    segunda-feira, 18 de janeiro de 2016 19:46
  • dois cliques no seu form, vai laaaaaaaaaaaaaaaaaa no topo e adiciona la, mas adiciona a classe referencia tbm.

    sexta-feira, 25 de agosto de 2017 16:21
  • Obrigado TiagoJesusTJS. Vou fazer os devidos testes aqui.

    gleiterson

    sexta-feira, 25 de agosto de 2017 16:29