Configurando string de conexão em ASP.NET para SQL SERVER

Respostas:

148

Você também pode usar isso, é mais simples. A única coisa que você precisa definir é "YourDataBaseName".

  <connectionStrings>
    <add name="ConnStringDb1" connectionString="Data Source=localhost;Initial Catalog=YourDataBaseName;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>

Onde colocar a string de conexão

<?xml version='1.0' encoding='utf-8'?>  
  <configuration>  
    <connectionStrings>  
      <clear />  
      <add name="Name"   
       providerName="System.Data.ProviderName"   
       connectionString="Valid Connection String;" />  
    </connectionStrings>  
  </configuration>  
Aristos
fonte
Como usá-lo no meu código C # por trás, quando quero executar alguma consulta.
Nikhil Tamhankar,
1
Você pode ver informações detalhadas sobre a string de conexão em ponto net em: connectionstrings.com/sql-server-2008
Vimal bhatt
4
Eu me pergunto quantas pessoas copiaram e colaram essa linha ... :-) Acho que esta é a 30ª vez que venho respondendo a esta pergunta ... talvez eu deva apenas aprender de cor.
Ayo Adesina
Esta versão não contém os atributos de nome de usuário / senha.
Burgi
@Burgi Não, não está faltando isso (veja o Integrated Security=True?), Não é necessário porque o banco de dados lê o arquivo por suas permissões - experimente. Por isso digo que é mais simples, pois não é necessário adicioná-los. Se você não conseguir usá-lo, abra seu banco de dados e defina lá a permissão correta, no banco de dados e nos arquivos
Aristos
107

Por algum motivo, não vejo uma resposta simples aqui.

Coloque isso no topo do seu código:

using System.Web.Configuration;
using System.Data.SqlClient; 

Coloque isso em Web.Config:

<connectionStrings >
    <add
         name="myConnectionString" 
         connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;"
         providerName="System.Data.SqlClient"/>
</connectionStrings>

e onde você deseja configurar a variável de conexão:

SqlConnection con = new SqlConnection(
    WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString);
Ray Suelzer
fonte
5
WebConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionStringpode ser mais tecnicamente correto.
esmagamento de
2
Eu também precisava de:using System.Data.SqlClient;
nu everest de
21

Achei muito difícil obter uma resposta, mas acabei descobrindo. Então, vou escrever as etapas abaixo.

  1. 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.

  2. 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ê.

  1. 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.

Francis Rodgers
fonte
14

deve estar dentro do <configuration>nó:

  <connectionStrings >
    <add name="myconnectionstring" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
  </connectionStrings>

este site tem mais informações sobre ele:

derek
fonte
1
Como usá-lo no meu código C # quando desejo executar alguma consulta no asp.net 4
Nikhil Tamhankar
7

Conexão no WebConfig

Adicione sua string de conexão ao <connectionStrings>elemento no Web.configarquivo.

<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"   providerName="System.Data.SqlClient" />
</connectionStrings>

In Class.Cs

public static string ConnectionString{
get{
return ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;}
set{}
samir
fonte
6

no cabeçalho

using System.Configuration;

em código

SqlConnection conn = new SqlConnection(*ConfigurationManager.ConnectionStrings["connstrname"].ConnectionString*);
masoud Cheragee
fonte
3

Você também pode usar o arquivo de configuração externo para especificar a seção de strings de conexão e consultar esse arquivo no arquivo de configuração do aplicativo como em web.config

Como o web.configarquivo:

<configuration>  
    <connectionStrings configSource="connections.config"/>  
</configuration>  

O connections.configarquivo de configuração externa conterá a seção de conexões

<connectionStrings>  
  <add name="Name"   
   providerName="System.Data.ProviderName"   
   connectionString="Valid Connection String;" />  

</connectionStrings>  

Modificar o conteúdo do arquivo de configuração externo não reiniciará o aplicativo (como o ASP.net faz por padrão com qualquer mudança nos arquivos de configuração do aplicativo)

Surjit SD
fonte
2

Se você quiser escrever a string de conexão em Web.config, escreva sob o sting fornecido

<connectionStrings>
  <add name="Conn" connectionString="Data Source=192.168.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com"
   providerName="System.Data.SqlClient" />
 </connectionStrings>

OU

você certo no arquivo aspx.cs como

SqlConnection conn = new SqlConnection("Data Source=12.16.1.25;Initial Catalog=Login;Persist Security Info=True;User ID=sa;Password=example.com");
Krishna Patel
fonte
2

Você pode colocar isso em seu web.configarquivo connectionStrings:

<add name="myConnectionString" connectionString="Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;" providerName="System.Data.SqlClient"/>
Aditya
fonte
2

Você pode usar o seguinte formato:

  <connectionStrings>
    <add name="ConStringBDName" connectionString="Data Source=serverpath;Initial Catalog=YourDataBaseName;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />
  </connectionStrings>

Muito provavelmente você encontrará a tag connectionstring em web.config após <appSettings>

Experimente isso.

C Sharper
fonte
1

Você pode tentar isso. É muito simples

<connectionStrings>         
    <add name="conString" connectionString="Data Source=SQLServerAddress;Initial Catalog=YourDatabaseName; User Id=SQLServerLoginId; Password=SQLServerPassword"/>
</connectionStrings>
Animesh Kumar Ghosh
fonte
OP perguntou "onde no web.config".
Steve Smith
0

Tente isso para sua string de conexão.

 Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
 User ID=myDomain\myUsername;Password=myPassword;
Santosh Wavare
fonte
Bem-vindo ao Stack Overflow! Quando você posta uma resposta para uma pergunta antiga, é bom adicionar algum contexto, porque sua resposta é melhor do que as antigas. Do contrário, corre o risco de ser esquecido no final da lista de respostas.
Monolo
0

ACABEI DE ENCONTRAR!! Você precisa colocar essa string de conexão e apontar diretamente para o seu banco de dados . Mesmo caso no servidor.

"Provider=Microsoft.ACE.OLEDB.12.0; 
 Data Source=c:/inetpub/wwwroot/TEST/data/data.mdb;"

Funciona!! :)

Dedeco
fonte
0

Armazene a string de conexão em web.config

É uma boa prática armazenar a string de conexão de seu aplicativo em um arquivo de configuração em vez de uma string codificada em seu código. A maneira de fazer isso é diferente entre .NET 2.0 e .NET 3.5 (e superior). Este artigo cobre ambos. https://www.connectionstrings.com/store-connection-string-in-webconfig/

Markoni
fonte
-1

Crie uma seção chamada <connectionStrings></connectionStrings>em seu web.configinterior <configuration></configuration>e, em seguida, adicione diferentes strings de conexão a ela, por exemplo

<configuration>

  <connectionStrings>
   <add name="ConnectionStringName" providerName="System.Data.SqlClient" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True"/>
  </connectionStrings>

</configuration>

Aqui está uma lista de todos os diferentes formatos de string de conexão https://msdn.microsoft.com/en-us/library/jj653752(v=vs.110).aspx

Cara
fonte
"Crie uma seção chamada <connectionStrings> </connectionStrings> em seu web.config" - onde em web.config?
Steve Smith
Filha da tag "configuração", mais informações docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/…
Guy,