Question

Je suis un problème. Quand je crée le nouveau projet dans ASP.NET utilisant VS 2010, il est web.config avec une chaîne de connexion par défaut à propos de SQL Express créé. Mais je ne l'ai pas même obtenu SQL Express installé. Que dois-je faire pour changer la valeur par défaut AspNetSqlProvider au travail avec mon exemple de plein poids SQL Server comme base de données de services? Et comment puis-je changer le modèle pour le projet ASP.NET pour créer un projet avec ma connexion?

Était-ce utile?

La solution

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

Pour changer cela en un qui va travailler avec SQL Server, il doit ressembler à ceci:
<add name="ApplicationServices" connectionString="data source=ServerName;Initial Catalog=DatabaseName" providerName="System.Data.SqlClient" />
où DatabaseName est probablement aspnetdb. Il aura besoin d'une certaine forme d'authentification, si vous utilisez l'authentification Windows (dans ce cas, vous pouvez copier l'élément Integrated Security de la chaîne de connexion d'origine) ou l'authentification SQL Server (où vous avez un nom d'utilisateur / mot de passe composé).
Il y a beaucoup d'informations sur la construction de chaînes de connexion à connectionstrings.com .

Pour résoudre ce problème pour vos futurs projets, vous aurez besoin de changer le modèle pour les projets Web. Recherchez le dossier où votre C # modèles Web sont conservés (pour moi, c'est C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033.
Faites une copie du fichier WebApplicationProject40.zip (vous pouvez également sauvegarder l'endroit original!). A l'intérieur, vous trouverez le fichier web.config avec la chaîne de connexion SQL Express. Changez-le à une chaîne SQL Server, puis réassembler le fichier zip.
La dernière étape consiste à reconstruire le cache de modèle VS - à partir d'une ligne de commande (VS invite de commande fonctionne probablement mieux), exécutez devenv /installvstemplates. Voir pour plus de détails.

Autres conseils

Je viens d'avoir un problème similaire. J'ai eu un site Web créé dans VS 2008 et je voulais essayer webparts. Ajout de quelques vers une page, puis a commencé à obtenir:

fichier de base de données SQLExpress erreur auto-création:

La chaîne de connexion spécifie une instance locale Sql Server Express en utilisant une base de données> emplacement dans les applications répertoire App_Data.

J'ai couru aspnet_regsql.exe (assistant, dans le dossier framework .Net) pour créer la base de données, puis j'ai ajouté une chaîne de connexion à web.config:

<configuration>
    <connectionStrings>
        <add name="aspnet_membership" connectionString="Data Source=localhost; Initial Catalog=aspnetdb; Integrated Security=SSPI;"/>
    </connectionStrings>
</configuration>

Alors j'ajouté à web.config:

<configuration>
  <system.web>
    <webParts>
      <personalization defaultProvider="SqlPersonalizationProvider">
        <providers>
          <add name="SqlPersonalizationProvider"
          type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"
          connectionStringName="aspnet_membership"
          applicationName="/" />
        </providers>
        <authorization>
          <deny users="*" verbs="enterSharedScope" />
          <allow users="*" verbs="modifyState" />
        </authorization>
      </personalization>
    </webParts>
  </system.web>
</configuration>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top