Afin de pouvoir accéder aux données, il faut configurer une chaîne de connexion dans le fichier Web.config. La configuration sera donc effectuée à un seul endroit et vous utiliserez cette même chaîne de connexion à chaque fois que vous devez accéder à votre base de données.
Vous pouvez configurer la chaîne de connexion à l'aide d'un assistant de Visual Studio, par exemple lorsque vous ajoutez un contrôle orienté données en mode Design. Vous obtiendrez une chaîne de connexion semblable à celle-ci :
<add name="ConnectionStringASPNET2015-GagnonAnnie"
connectionString="Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|ASPNET2015-GagnonAnnie.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
ou, selon les configurations de votre ordinateur :
<add name="ConnectionStringASPNET2015-GagnonAnnie"
connectionString="Data Source=(LocalDB)v11.0;Initial Catalog=ASPNET2015-GagnonAnnie.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
Vous pouvez également configurer la chaîne de connexion manuellement. Pour cela, ouvrez le fichier Web.config et ajoutez le code précédent dans la zone <connectionStrings>. Si vous n'avez qu'une balise <connectionStrings/>, changez-la pour <connectionStrings></connectionStrings> et placez le code entre les deux.
▼Publicité Le texte se poursuit plus bas
Lors de la mise en ligne, la chaîne de connexion devra être modifiée pour que IIS puisse retrouver la BD sur le serveur de production. Vous devez donc modifier votre fichier Web.config comme suit.
Notez que dans cet exemple, trois chaînes de connexion sont présentes : une pour votre machine locale, une pour le serveur de développement et une pour le serveur de production. Une seule sera effectivement utilisée. Les autres seront en commentaires. La chaîne effectivement utilisée dépendra de l'endroit où les données doivent être lues.
<connectionStrings>
<!-- ******** Machine locale ******** -->
<add name="ConnectionStringVotreSite"
connectionString="Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|VotreBD.mdf; Integrated Security=True"
providerName="System.Data.SqlClient" />
<!-- ******** Serveur de développement******** -->
<!--
<add name="ConnectionStringVotreSite"
connectionString="Data Source=NOM_SERVEUR_DEVELOPPEMENT;Initial Catalog=VotreBD;User Id=connexion;Password=motpasse"
providerName="System.Data.SqlClient" />
-->
<!-- ******** Serveur de production ******** -->
<!--
<add name="ConnectionStringVotreSite"
connectionString="Data Source=NOM_SERVEUR_PRODUCTION;Initial Catalog=VotreBD;User Id=connexion;Password=motpasse"
providerName="System.Data.SqlClient" />
-->
</connectionStrings>
Ajustement à apporter aux chaînes de connexion :
Notez que si vous avez accès aux configurations du serveur MS SQL, vous pouvez obtenir le nom du serveur à l'aide de la requête SQL suivante :
select @@servername;
La chaîne de connexion générée par Visual Studio peut travailler avec l'attribut Initial Catalog ou avec AttachDbFileName.
Si vous travaillez avec Initial Catalog, ceci signifie que pour que la base de données soit disponible pour votre site Web, elle doit être attachée au serveur. Le nom qui est précisé pour l'attribut Initial Catalog n'est pas le nom physique de la base de données. C'est le nom logique qui a été précisé lors de l'attachement.
Si vous souhaitez, lorsque vous travaillez localement, vous pouvez modifier la chaîne de connexion pour travailler directement avec la base de données, sans devoir l'attacher. Pour cela, changez l'attribut Initial Catalog pour AttachDbFilename. Vous devrez préciser le chemin complet de la BD. Par chance, ce chemin est représenté par la variable d'environnement |DataDirectory|.
<!-- ******** Machine locale ******** -->
<add name="ConnectionStringVotreSite"
connectionString="Data Source=(LocalDB)v11.0;AttachDbFilename=|DataDirectory|VotreBD.mdf; Integrated Security=True"
providerName="System.Data.SqlClient" />
Si vous désirez travailler localement avec SQL Server Express plutôt que SQL Server Express LocalDB, vous devez adapter votre chaîne de connexion pour le serveur de développement comme suit :
<!-- ******** Machine locale (avec SQL Server Express) ******** -->
<add name="ConnectionStringVotreSite"
connectionString="Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|VotreBD.mdf;Integrated Security=True;User Instance=True"
providerName="System.Data.SqlClient" />
« The Connection String Reference ». connectionstrings.com. http://www.connectionstrings.com/
« Connection strings for SQL Server 2000 ». ConnectionStrings.com. http://www.connectionstrings.com/sql-server
Site fièrement hébergé chez A2 Hosting.