.mdf fichier n'est pas créé sur ASP.Net MVC 4 app après l'ajout de <connectionStrings> tag sur le Web.config
J'ai essayé le ASP.Net MVC 4 tutoriel. Quand j'ai ajouté le code suivant et de construire l'application, je m'attendais à des Films.mdf fichier sera créé en vertu de App_Data dossier sur le l'Explorateur de solutions. Cependant, rien n'a été créé dans ce répertoire. Aucune idée pourquoi?
<connectionStrings>
<add name="DefaultConnection"
connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MvcMovie-2012213181139;Integrated Security=true"
providerName="System.Data.SqlClient"/>
<add name="MovieDBContext"
connectionString="Data Source= (LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
À l'aide de:
.NET Framework 4
VS 2010
OriginalL'auteur shaz | 2012-10-29
Vous devez vous connecter pour publier un commentaire.
D'avoir une instance de MS SQL 2012 sur ma machine, pas SqlExpress, j'ai eu ce problème. J'ai trouvé qu'en laissant l'application continue (au lieu de l'arrêter dans visual studio, quand VS intercepte l'exception), j'ai reçu un message utile dans le navigateur:
qui indique que le problème est que le service sql n'a pas d'autorisations d'écriture de mon répertoire de l'application.
De donner des autorisations a été un peu difficile car le nom d'utilisateur requis n'est pas venu (dans Windows 8 Pro) dans l'Explorateur de graphique pour la Sécurité. Le nom d'utilisateur pour une Instance par Défaut de Sql Server est
NT SERVICE\MSSQLSERVER
(pour un exemple, il estNT SERVICE\MSSQL$InstanceName
) et j'ai dû taper dans la main, et puis de lui donner les permissions d'écriture. Je l'ai fait juste sur le App_data répertoire.Puis il a travaillé.
OriginalL'auteur Chris F Carroll
Le problème est résolu. Le problème, c'était l'emplacement du projet. Je travaillais avec des fichiers depuis un disque partagé qui, apparemment, n'a pas créer la base de données dans le App_Data dossier. Connectionstring code est très bien comme il est indiqué dans le tutoriel, et aucune modification n'est requise.
OriginalL'auteur shaz
La base de données ne sera pas créé avant d'ajouter le premier enregistrement de l'un de vos tableaux.
OriginalL'auteur Odd Dahm Sælen
Cette erreur se produit lorsque Visual studio et MSSQL sont en cours d'exécution en vertu de différentes autorités. Pour cette raison, votre demande n'a pas droit à une autorisation d'écriture pour la création de la
.mdf
fichier de base de données.SOLUTION
SQL Server Configuration Manager
SQL Server Services
Voir le
Log On As
ongletla valeur serait quelque chose comme
NT AUTHORITY\NETWORKSERVICE
( ça dépend )Une fois que vous obtenez le nom d'utilisateur,
App_Data
dans votre répertoire de projet )cliquez sur edit -> vérifiez l'utilisateur ou un nom de groupe
Vous ne voyez pas il n'y a pas
Network Service
sur l'utilisateur ou de la liste de nom de groupeTout ce que vous avez à faire est d'ajouter le nom d'utilisateur et de donner l'autorisation en écriture pour l'utilisateur ou le groupe.
OriginalL'auteur hina10531
Il peut être le cas de AttachDBFilename... j'en ai pour mon projet et il fonctionne très bien.
Également vérifier votre modèle est correct. Si votre modèle ne prend pas l'initiative de cette connexion, alors il ne va pas créer la base de données.
Notez également que le B est capital dans la AttachDBFilename Si vous remplacez votre chaîne de connexion en ligne avec le mien via copier et coller ça fonctionne? Visual Studio doit faire contexte en soulignant automatiquement. Si elle n'est pas ramasser les mots qu'il pourrait être un cas de question ou de l'absence de ponctuation. Votre modèle doit être comme dans l'exemple. Si vous copier-collé, il doit saisir le contexte.
malheureusement, pas de chance. J'ai copié le Film.cs fichier exactement au contenu du tutoriel.Aucun signe de ponctuation est absente, mais les variables sont par exemple dans le texte en noir au lieu de vert. Toujours pas de Films.mdf est créé. J'ai essayé de copier coller votre texte de la partie aussi. Toujours pas de chance. Serais-je raté quelque chose d'autre?J'ai essayé d'accéder à localdb à l'aide de Server Management Studio, ne pouvais pas accéder à qui que ce soit.
Je suis en supposant que vous avez installé mvc4 - asp.net/mvc/mvc4 et installé et compact de sql server ou sql express. Ceux-ci viennent en standard avec visual studio 2012. J'utilise 2012, donc je n'ai pas fait cela de temps en temps.
si vous remarquez que l'exemple utilise .le sdf qui est le serveur sql server compact. SQL Express permettrait de produire de l' .fichier mdf.
OriginalL'auteur Xaxum
J'ai résolu le problème en modifiant la propriété connectionstring comme ci-dessous
J'ai fait l'installation de Microsoft SQl Server Compact 4.0 à partir de nuget.. mais je ne suis pas sûr de savoir si c'est vraiment besoin de l'installer ou pas.
OriginalL'auteur Zerotoinfinity
Dans ce
MVC
tutoriel, il suffit d'ajouter "Initial Catalog=Movies
;" (sans les guillemets) à laconnection string
et ça marchera bien.OriginalL'auteur cuongk6t