Achei muito difícil obter uma resposta, mas acabei descobrindo. Então, vou escrever as etapas abaixo.
Antes de configurar sua string de conexão em código, certifique-se de que você realmente pode acessar seu banco de dados. Comece obviamente fazendo login no servidor de banco de dados usando SSMS (Sql Server Management Studio ou equivalente em outros bancos de dados) localmente para garantir que você tenha acesso usando quaisquer detalhes que pretende usar.
Em seguida (se necessário), se você estiver tentando acessar o banco de dados em um servidor separado, certifique-se de fazer o mesmo no SSMS. Portanto, configure o SSMS em um computador e verifique se você pode acessar o servidor com o nome de usuário e a senha desse servidor de banco de dados.
Se você não acertar os 2 acima, está simplesmente perdendo seu tempo, pois não consegue acessar o banco de dados. Isso pode ser porque o usuário que você configurou está errado, não tem acesso remoto habilitado (se necessário) ou as portas não estão abertas (se necessário), entre muitos outros motivos, mas esses são os mais comuns.
Depois de verificar se você pode acessar o banco de dados usando SSMS. A próxima etapa, apenas para automatizar o processo e evitar erros, é deixar o sistema fazer o trabalho por você.
- Inicie um projeto vazio, adicione sua escolha de Linq ao SQL ou Dataset (EF é bom, mas a string de conexão está embutida em uma string de EF, eu quero uma limpa) e conecte-se ao seu banco de dados usando os detalhes verificados acima em o feiticeiro da corda. Adicione qualquer tabela e salve o arquivo.
Agora vá para a configuração da web e, magicamente, você verá uma string de conexão bem limpa e funcional com todos os detalhes de que você precisa.
{Abaixo estava parte de uma postagem antiga, então você pode ignorar isso, deixo para referência, pois é a maneira mais básica de acessar o banco de dados apenas por trás do código. Role para baixo e continue a partir da etapa 2 abaixo. }
Vamos supor que as etapas acima iniciem você com algo como o seguinte, como sua string de conexão no código por trás:
string conString = "Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;";
Este passo é muito importante. Certifique-se de ter o formato de string de conexão acima funcionando antes de realizar as etapas a seguir. Certifique-se de que você realmente pode acessar seus dados usando alguma forma de texto de comando sql que exibe alguns dados de uma tabela em rótulos ou boses de texto ou qualquer outra coisa, pois esta é a maneira mais simples de fazer uma string de conexão.
Depois de ter certeza de que o estilo acima funciona, é hora de dar os próximos passos:
1. Exporte seu literal de string (o material entre aspas, incluindo as aspas) para a seção seguinte do arquivo web.config (para várias strings de conexão, basta fazer várias linhas:
<configuration>
<connectionStrings>
<add name="conString" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString2" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
<add name="conString3" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
{O texto acima fazia parte de uma postagem antiga, depois de realizar as 3 etapas principais, todo o processo será feito para você, portanto, você pode ignorá-lo. Eu apenas deixo aqui para minha própria referência. }
2. Agora adicione a seguinte linha de código ao código C # por trás, de preferência logo abaixo da definição da classe (ou seja, não dentro de um método). Isso aponta para a pasta raiz do seu projeto. Essencialmente, é o nome do projeto. Normalmente, é a localização do arquivo web.config (neste caso, meu projeto é denominado MyProject.
static Configuration rootWebConfig = WebConfigurationManager.OpenWebConfiguration("/MyProject");
3. Agora adicione a seguinte linha de código ao código C # por trás. Isso configura uma constante de string à qual você pode se referir em muitos lugares ao longo do código, caso precise de um conString em métodos diferentes.
const string CONSTRINGNAME = "conString";
4. Em seguida, adicione a seguinte linha de código ao código C # subjacente. Isso obtém a string de conexão do arquivo web.config com o nome conString (da constante acima)
ConnectionStringSettings conString = rootWebConfig.ConnectionStrings.ConnectionStrings[CONSTRINGNAME];
5. Finalmente, onde originalmente você teria algo semelhante a esta linha de código:
SqlConnection con = new SqlConnection(conString)
você o substituirá por esta linha de código:
SqlConnection con = new SqlConnection(conString.ConnectionString)
Depois de realizar essas 5 etapas, seu código deve funcionar como antes. Perceba o motivo pelo qual você testa a construção primeiro em seu formato original para saber se é um problema com a string de conexão ou se é um problema com o código.
Eu sou novo em C #, ASP.Net e Sql Server. Portanto, tenho certeza de que deve haver uma maneira melhor de fazer este código. Eu também gostaria de receber feedback sobre como melhorar essas etapas, se possível. Procurei algo assim em todo lugar, mas acabei descobrindo depois de muitas semanas de trabalho duro. Olhando para mim mesmo, ainda acho que deve haver uma maneira mais fácil.
Espero que isto seja útil.