Usuário com melhor resposta
duvida sobre publicação de sistemas

Pergunta
-
ola pessoal estou começando a vida de desenvolvedor agora
apesar de ja usar e fuçar a + de 6 anos começando do vb agr finalmente apaixonei pelo c#
estou criando uma aplicação para gerenciar um biblioteca publica e estou utilizando visual studio community 2013
e o sql server 2014 express entao aplicação(desktop) terá camada model mas percebi que a conection string pega o caminho da minha maquina ou seja como vou instalar a aplicação na maquina final
esse caminho ira mudar de acordo com a maquina ou e melhor esquecer a camada de dados e fazer no Mysql> localhost
Respostas
-
Olá,
eu fiz da seguinte forma:
Classe para ler e alterar o app.config
public static string LerXmlConfig(string Chave) { string Resultado = ConfigurationManager.AppSettings[Chave]; return Resultado; } public static void AlerarXmlConfig(string Chave, string Valor) { System.Configuration.Configuration Conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Conf.AppSettings.Settings[Chave].Value = Valor; Conf.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); }
O meu App.config possui os seguintes campos:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="NomeServidor" value=""/> <add key="NomeBD" value=""/> </appSettings> </configuration>
Então, para formar a string de conexão basta concatenar:
return new SqlConnection(@"Data Source=" + ConfigTerminal.LerXmlConfig("NomeServidor") + ";Initial Catalog=" + ConfigTerminal.LerXmlConfig("NomeBD") + ";Integrated Security=True");
Espero ter ajudado!
att,
- Marcado como Resposta MFSoluçoes terça-feira, 16 de junho de 2015 17:52
Todas as Respostas
-
Olá,
Eu sugiro que vc mantenha a camada de dados e configure a string de conexão pelo web.config ou app.config.
Assim é só vc alterar a string de conexão no xml de configuração que irá para a versão de produção.
Espero que responda sua dúvida!
Att.,
Sergio
- Sugerido como Resposta SergioSchirmer quinta-feira, 18 de junho de 2015 23:33
-
acho que entendi eu instalo e configuro o sql server na maquina do cliente e depois so troco na app certo tem como pegar essa string automaticamente pq este app faz parte do meu estagio e eu n sei em qtas escolas(cada escola tem um servidor local e o banco n tem como ficar hospedado na secretaria pq a net raramente funciona a net) eles vão instalar este app
se haver um jeito de pegar automaticamente por meio de classe você pode me orientar
- Editado MFSoluçoes segunda-feira, 15 de junho de 2015 09:18
-
Bom dia,
A orientação do Sergio é a que eu recomendo também, deixar a string de conexão no app.config/web.config e recuperá-la na sua classe de acesso ao banco. A string no arquivo fica dessa forma:
<connectionStrings> <add name="NomeDaConexao" connectionString="Data Source=ID/NomeServidor;User ID=UsuarioConexao;Password=SenhaConexao;Initial Catalog=BaseDados;" providerName="System.Data.SqlClient"/> </connectionStrings>
Dessa forma, você pode alterar esse caminho sem precisar publicar novamente a aplicação.
Abs.
Bruno Destro
Dicas de programação em .net, C# e SQL - http://smcode.com.br/blog.aspx
-
-
Olá,
Para acessar a string de conexão via classe, utilize a seguinte linha de código:
string stringConexao = ConfigurationManager.ConnectionStrings["NomeDaConexao"].ConnectionString;
Espero que ajude!
Att.,
Sergio
- Sugerido como Resposta SergioSchirmer terça-feira, 16 de junho de 2015 03:11
-
Olá,
eu fiz da seguinte forma:
Classe para ler e alterar o app.config
public static string LerXmlConfig(string Chave) { string Resultado = ConfigurationManager.AppSettings[Chave]; return Resultado; } public static void AlerarXmlConfig(string Chave, string Valor) { System.Configuration.Configuration Conf = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); Conf.AppSettings.Settings[Chave].Value = Valor; Conf.Save(ConfigurationSaveMode.Modified); ConfigurationManager.RefreshSection("appSettings"); }
O meu App.config possui os seguintes campos:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="NomeServidor" value=""/> <add key="NomeBD" value=""/> </appSettings> </configuration>
Então, para formar a string de conexão basta concatenar:
return new SqlConnection(@"Data Source=" + ConfigTerminal.LerXmlConfig("NomeServidor") + ";Initial Catalog=" + ConfigTerminal.LerXmlConfig("NomeBD") + ";Integrated Security=True");
Espero ter ajudado!
att,
- Marcado como Resposta MFSoluçoes terça-feira, 16 de junho de 2015 17:52
-
-
Boa sorte! Se funcionou minha sugestão favor marcar como resposta.
Abs,
Sergio