2010-08-26 9 views
3

Dans mon environnement de test, j'ai créé une connexion et utilisé la configuration ASP.NET dans Visual Studio. Cela a fonctionné parfaitement. Mais maintenant, après le test, j'ai importé une base de données existante sur mon serveur sql et cette base de données inclut les tables de connexion asp.net existantes (même structure). Dans mon application Web, je souhaite utiliser ces tables importées à la place de celles de ma base de données de test. J'ai déjà vérifié le web.config ainsi que l'outil aspnetreg (je ne connais pas le nom exact: p)Modification de la base de données de connexion ASP.NET

Ma question: Comment puis-je changer la base de données utilisée par mon identifiant ASP.NET?

+0

C'est l'outil aspnet_regsql. – XIII

Répondre

4

vous avez à remplacer la chaîne de connexion des services d'application par défaut pour avoir utiliser votre existant déployé DB

dans la section de chaîne de connexion web.config modifier la chaîne de connexion par défaut

 <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/> 

pour être quel que soit votre La chaîne de connexion est

ou si vous souhaitez utiliser une chaîne de connexion différente, vous pouvez modifier le nom de la chaîne de connexion utilisée dans les paramètres du fournisseur d'appartenances également dans web.config

<membership> 
     <providers> 
      <clear/> 
      <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" passwordStrengthRegularExpression="" applicationName="/"/> 
     </providers> 
    </membership> 

Modifier le nom du connectionStringName à quelque chose d'autre

EDIT Code fournisseur de rôle

<roleManager enabled="true"> 
     <providers> 
      <clear/> 
      <add connectionStringName="ApplicationServices" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> 
     </providers> 
    </roleManager> 

Encore une fois vous voudrez changer connectionStringName à votre chaîne de connexion.

+0

Il y a déjà la bonne chaîne de connexion dans mon web.config. mais l'outil de configuration ASP.NET tente toujours de se connecter à l'ancienne base de données. Je l'ai reconnu après avoir renommé l'ancienne base de données. La configuration d'ASP.NET m'indique qu'il n'a pas pu établir une connexion à la base de données et j'ai besoin d'exécuter l'outil aspnet_reqsql, mais j'ai déjà essayé ceci. –

+0

Les paramètres web.config par défaut sur le serveur remplacent en quelque sorte le vôtre. ajouter un aux chaînes de connexion et les fournisseurs d'appartenance – Sruly

+0

Merci beaucoup, maintenant j'ai reconnu qu'il n'y a pas -tag dans mon web.config. Comment puis-je générer ceci? On dirait qu'une sorte de fort appelé PublicKeyToken est utilisé. J'ai seulement la chaîne de connexion dans mon web.config. –

Questions connexes