none
Web config RRS feed

  • Pergunta

  •  

    Olá pessoal, estou reabrindo este post pois achei que tinha resolvido meu problema, mas ele ainda persiste, entao vou tentar esclarecer melhor minhas dúvidas, vamos lá:

    Tenho a seguinte connection string em meu web.config:

     

    <connectionStrings>

    <add name="minhaConnectionString" connectionString="Data Source=W2BZFSB203;Initial Catalog=bancoTeste;Integrated Security=True" providerName="System.Data.SqlClient" />

    </connectionStrings>

     

    O que acontece é que meu cliente quer uma interface para administrar o endereço do servidor, o nome do banco e alguns emails padrão que minha aplicação utiliza. Ou seja, ele quer uma tela com os campos para ele digitar o endereço dos servers e minha aplicação deve buscar esses endereços. Porém eu não conheço uma maneira de tornar isso possível. Então pensei em criar uma classe do tipo "AppConnections" e dentro dela criar a propriedade ConnectionString, que busca em um XML os endereços do banco e tudo mais....

    Resumindo, minha classe AppConnections vai em um XML, localiza a tag <ServerAddress>192.168.0.1</ServerAddress> e se conecta ao banco de dados SQL. Mas ai está o porém: Fazendo dessa maneira eu não consigo trabalhar com dataset tipados porque eles sempre irão buscar a conectionsstring lá do meu web.config.

    Eu gostaria de saber se existe alguma maneira de substituir o valor "connectionString="Data Source=W2BZFSB203;Initial Catalog=bancoTeste" do web.config pelo valor informado pelo usuário em outra tela.

     

    Obrigado pela atenção!!

    domingo, 24 de setembro de 2006 18:51

Respostas

  • Ola Fabio,

    Isso não é permitido porque isso que está acessando é somente leitura. Para poder alterar isso, terá que fazer da seguinte forma:

    using System.Web.Configuration;
    //....
    Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
    ConnectionStringsSection dbConnString = webConfig.ConnectionStrings;
    dbConnString.ConnectionStrings["DBOrders"].ConnectionString = "TUA NOVA CONNSTRING AQUI";
    webConfig.Save();

    terça-feira, 26 de setembro de 2006 03:21
    Moderador

Todas as Respostas

  • Fábio,

    Tem sim, no post que perguntou sobre isso te dei um exemplo de como fazer, Tente o seguinte para as ConnectionStrings.

    Veja abaixo um exemplo que ler e jogar no TextBox e depois atualiza:

     

    Para ler:

    this.TextBox1.Text = ConfigurationManager.ConnectionStrings["minhaConnectionString"].ConnectionString;

    Para alterar você tem diversas formas, uma delas é o exemplo abaixo:

    ConfigurationManager.ConnectionStrings["minhaConnectionString"].ConnectionString = this.TextBox1.Text;

     

    Espero ter ajudado!

    domingo, 24 de setembro de 2006 20:04
  • Fábio,

    Tem sim, no post que perguntou sobre isso te dei um exemplo de como fazer, Tente o seguinte para as ConnectionStrings.

    Veja abaixo um exemplo que ler e jogar no TextBox e depois atualiza:

     

    Para ler:

    this.TextBox1.Text = ConfigurationManager.ConnectionStrings["minhaConnectionString"].ConnectionString;

    Para alterar você tem diversas formas, uma delas é o exemplo abaixo:

    ConfigurationManager.ConnectionStrings["minhaConnectionString"].ConnectionString = this.TextBox1.Text;

     

    Espero ter ajudado!

    domingo, 24 de setembro de 2006 20:04
  • Fábio,

    Tem sim, no post que perguntou sobre isso te dei um exemplo de como fazer, Tente o seguinte para as ConnectionStrings.

    Veja abaixo um exemplo que ler e jogar no TextBox e depois atualiza:

     

    Para ler:

    this.TextBox1.Text = ConfigurationManager.ConnectionStrings["minhaConnectionString"].ConnectionString;

    Para alterar você tem diversas formas, uma delas é o exemplo abaixo:

    ConfigurationManager.ConnectionStrings["minhaConnectionString"].ConnectionString = this.TextBox1.Text;

     

    Espero ter ajudado!

    domingo, 24 de setembro de 2006 20:04
  • Estou com um probleminha aqui ainda, quando eu quero alterar minha ConectionString aparece o seguinte erro:

    Line 9:      Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
    Line 10:         ConfigurationManager.ConnectionStrings(1).ConnectionString = TextBox1.Text
    Line 11:     End Sub
    Line 12: End Class

     

    Erro: The configuration is read only.

     

     

    Será que eu tenho que configurar para poder alterar?? 

    segunda-feira, 25 de setembro de 2006 23:51
  • Ola Fabio,

    Isso não é permitido porque isso que está acessando é somente leitura. Para poder alterar isso, terá que fazer da seguinte forma:

    using System.Web.Configuration;
    //....
    Configuration webConfig = WebConfigurationManager.OpenWebConfiguration("~");
    ConnectionStringsSection dbConnString = webConfig.ConnectionStrings;
    dbConnString.ConnectionStrings["DBOrders"].ConnectionString = "TUA NOVA CONNSTRING AQUI";
    webConfig.Save();

    terça-feira, 26 de setembro de 2006 03:21
    Moderador