Une tentative d'attacher une base de données nommée automatique de fichier ...database1.mdf a échoué
J'obtiens l'erreur suivante lors du débogage mon visual studio 2010 site web:
Une tentative d'attacher une base de données nommée automatique de fichier C:\Users...\Desktop\Dpp2012New\App_Data\dppdatabase.mdf a échoué. Une base de données avec le même nom existe, ou le fichier spécifié ne peut pas être ouvert, ou il est situé sur un partage UNC.
Description: Une exception non gérée s'est produite pendant l'exécution de la demande web actuelle. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et où elle a son origine dans le code.
Détails De L'Exception: System.Les données.SqlClient.SqlException: une tentative d'attacher Une base de données nommée automatique de fichier C:\Users...\Desktop\Dpp2012New\App_Data\dppdatabase.mdf a échoué. Une base de données avec le même nom existe, ou le fichier spécifié ne peut pas être ouvert, ou il est situé sur un partage UNC.
Voici ma chaîne de connexion de mon web.config
:
<connectionStrings>
<add name="ApplicationServices"
connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
providerName="System.Data.SqlClient"/>
<add name="ConnectionString"
connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\dppdatabase.mdf;Integrated Security=SSPI"
providerName="System.Data.SqlClient"/>
</connectionStrings>
Et j'y accéder à partir de mon site web:
Dim connectionString As String = ConfigurationManager.ConnectionStrings("ConnectionString").ConnectionString
La stacktrace montre la ligne d'erreur comme:
Dim conn As New SqlConnection(connectionString)
Dim dr As SqlDataReader
conn.Open() 'This is the error line as per stacktrace
J'ai donné les autorisations nécessaires pour le dossier ci-dessus de sorte qu'il peut ne pas être le "ou fichier spécifié ne peut pas être ouvert" de l'émission. Si l'on regarde tous les messages liés à la même erreur dans ce forum, clairement la profondeur de cette erreur peut être trouvé. Cependant, aucune des solutions résout mon problème.
Certaines des ressources que j'ai essayé sont:
- http://weblogs.asp.net/scottgu/archive/2005/08/25/423703.aspx
- http://blogs.msdn.com/b/webdevelopertips/archive/2010/05/06/tip-106-did-you-know-how-to-create-the-aspnetdb-mdf-file.aspx
- http://forums.asp.net/t/1033225.aspx
J'attends avec impatience une solution.
Vous devez vous connecter pour publier un commentaire.
J'ai eu ce problème aussi, et c'était une douleur. J'ai configuré ma chaîne de connexion et réussi à résoudre le problème. Dans la chaîne de connexion, j'ai remplacé la valeur |DataDirectory|\dbfilename.mdf pour AttachDbFilename de la propriété, avec le chemin d'accès au fichier. |DataDirectory| peut être utilisé uniquement si le fichier de base de données dans le dossier App_Data l'intérieur d'un même projet.
La modification du AttachDbFilename de propriété de la voie directe du fichier mdf, fixe mon problème.
AttachDbFilename=C:\MyApp\App\DAL\db.mdf
J'espère que cela fonctionne pour vous.
Essayez de créer votre chaîne de connexion ci-dessous:
C'est de travailler pour moi.
J'ai eu une erreur similaire, mais en utilisant une connexion configurée dans le code, plutôt que d'un fichier de configuration. La solution pour moi a été de simplement ajouter le "Initial Catalog=Mabase" partie. Mon code ressemble maintenant...
Emplacement est un chemin d'accès complet à un fichier mdb, qui n'existe pas encore.
L'un des plus ennuyeux des erreurs lors du développement d'applications web dans .Net. J'ai eu ce problème sur un projet que j'avais fait il y a un an.
C'est ce qui a fonctionné pour moi: je me suis connecté avec le compte " sa " à SQL Management Studio et attaché la base de données de l'explorateur d'objets (les Bases de données -> Clic Droit -> Joindre).
Puis j'ai ouvert la Sécurité->Connexions->[myWindowsUsername] et édité Utilisateur onglet Mappages, donnant dbowner droits de la base de données attachée.
Je suis sûr que vous pouvez faire ces choses sans Management Studio, avec des commandes de la console, mais je ne suis pas bon avec T-SQL et ne peut pas vous donner des conseils sur ce.
vérifier votre web-fichier de config, il peut y avoir plus d'une chaîne de connexion ayant le même nom
Le mien était un EF code-premier projet et elle s'affiche lorsque le fichier a été supprimé. L'exécution de
Update-Database
à partir du Gestionnaire de Package Console de la DB et de son amende.Erreur a été corrigée pour moi après que j'ai changé ce
à ce
J'ai changé le dossier d'installation du programme, les fichiers de répertoire C pendant que je suis à l'installation de l'application. alors mon problème est résolu
bien, je pense que la raison est que, dans votre répertoire de base de données, contient une .mdf fichier qui porte le même nom. Donc, la meilleure chose est de donner le chemin d'accès complet, vous pouvez simplement remplacer le AttachDbFilename. tout simplement obtenir le nom de chemin complet du fichier de base de données et l'affecter dans le AttachDbFilename qui est en application.fichier de configuration.
Dans la plupart des cas, le projet de tests unitaires est séparée de l'ensemble du projet.
Cela provoque l'généré chaîne de connexion non valide car il ne parvient pas à trouver un dossier app_data, si votre base de données est locale à la solution.
Vous pouvez juste remplacer le |DataDirectory| avec un chemin d'accès relatif à votre base de données dans votre projet si vous avez besoin de vous connecter à partir de votre projet de test d'unité.
Veuillez vérifier le chemin d'accès à votre base de données dans la chaîne de connexion. J'ai le même message d'erreur et j'ai appris plus tard que le problème est mal orthographié chemin.
J'ai essayé mdf portabilité de mon application, j'ai donc été à l'aide de
avec nerdDinners, je ne me souviens pas où je l'ai trouvé, étant
Alors je peux utiliser le type de retour comme un DbContext.
La principale chose que j'ai rencontré était que GetCurrentDirectory() récupère le fichier compilé chemin, non pas sur le projet de chemin de fichier, de sorte que le déploiement devrait être mis à GetCurrentDirectory et le mdf doit être copié sur la compilation, pas de référence au réel App_Data. Inclure votre mdf dans votre projet et allez propriétés. Définissez la copie vers le répertoire de sortie.
J'ai eu le même problème avec EF. Le chemin d'accès absolu solution a fonctionné. Mais ce n'est pas une solution sympa si vous voulez déplacer votre programme vers un nouvel emplacement. Pour moi, c'était le problème.
.mdf
fichier dans le dossier du projet, parfois VS synchroniser les deuxfichiers
.mdf
fichier n'a pas été synchronisées dans le DébogageMa solution:
.mdf
et.ldf
fichier dans un dossier temp.mdf
fichier dans le dossier du projet, il faut l'accepter.mdf
fichier apparaîtra dans le dossier de débogage ainsidossier
ce que j'ai trouvé à ce jour pour résoudre le problème, si vous créez un fichier mdf en dessous de la voie, il serait très bien fonctionner pour visual studio.
Cliquez-droit sur la connexion de données dans le serveur Explorar->ajouter une connexion->Sélectionnez Microsoft SQL Server Base de données de Fichier et de choisir la base de données de nom et sélectionnez ok. Ensuite, ce problème ne se pose pas.
Suivez la vidéo:
lien youtube
Semble que il ya beaucoup de causes pour cela...Ici était le mien.
L'indice était sur la dernière ligne du message d'erreur...
En essayant de reproduire un environnement de production...
J'ai d'abord eu du lecteur physique Q:. Après ma machine de dev tanké..j'ai reconstruit et viens de créer un lecteur mappé.
Commencé à avoir cette erreur...et puis on est rentrés et juste créé un autre Q: partition et le problème a été résolu.
J'ai eu un problème similaire après j'ai déménagé ma db à un dossier dans le même projet.
Tout ce que j'avais à faire, enfin, a pour propriétés de la base de données, copier le chemin d'accès énumérés sous la rubrique "identité" et de remplacer le chemin d'accès à 'AttachDbFilename='.
A très bien fonctionné.
J'ai eu le même problème,et je pense que j'ai tout compris.dans la chaîne de connexion assurez-vous que la chaîne de connexion ressemble à ceci:
Maintenant, la première
est ce qui apparaît par défaut dans le web.config. Laisser inchangé,et ajouter un autre connectionstring
avec vos paramètres. C'est de travailler pour moi. Espérons que cela aide.