9
votes

Cadre d'entité Connexion à localDB

J'essaie de suivre le parcours Pluralsight ASP.NET MVC 4 Fondamentaux. Mais je ne peux pas avoir la base de données connectée.

Voici l'erreur que j'ai obtenue:

Une erreur s'est produite lors de l'obtention des informations fournisseurs de la base de données. Cela peut être causé par une structure d'entité utilisant une chaîne de connexion incorrecte. Vérifiez les exceptions internes pour plus de détails et assurez-vous que la chaîne de connexion est correcte.

J'ai Visual Studio 2013 Professional et SQL Server 2012 installé sur ma machine. Lorsque j'ai installé mon serveur SQL, j'ai créé un nom de serveur "ABC" sur mon ordinateur.

J'ai également installé SQL localdb 11.0 séparément, mais il semble que VS ne puisse pas trouver la connexion localDb. Lorsque je vérifie le serveur Explorer -> Ajouter une connexion, sous la liste Nom du serveur, seul "ABC" est indiqué.

Voici la chaîne de connexion.

J'ai aussi essayé d'utiliser "Source de données = ABC; ..." "Cela ne fonctionne pas non plus.

update < p> voici ma chaîne de connexion xxx


11 commentaires

Avez-vous examiné votre fichier de configuration Web pour vérifier que la chaîne de connexion correcte?


Voici la chaîne de connexion.


J'ai aussi essayé d'utiliser "Source de données = ABC; ...." Cela ne fonctionne pas non plus.


Regarde ceci: Stackoverflow.com/Questtions/10540438/... peut-être aider.


Si vous répondez à une question dans les commentaires avec le code, veuillez placer Modifier votre question et la mettre à jour afin de ne pas avoir à lire tous les commentaires pour comprendre votre question.


Regarde attachdbfilename = | datadirectory | \ aspnet-emanager.web-2014122 322341 8.MDF dans votre chaîne de connexion. Votre application tente de se connecter à un fichier de base de données SQL à cet endroit. Avez-vous réellement ce fichier MDF à cet endroit?


@FailedProgrammation, non, il n'y a pas de tel fichier. Je pensais que cela est créé par la migration automatiquement, ai-je raison?


Je ne m'en souviens pas exactement, je pense qu'il est créé dans le cadre d'un modèle de projet MVC 4 ou lorsque vous configurez l'établissement de l'entité. Mais dans les deux cas, il y a votre problème.


Que voulez-vous dire lorsque vous dites que vous avez créé un nom de serveur "ABC" sur votre ordinateur? Avez-vous changé votre nom d'ordinateur sur "ABC" ou avez-vous créé une instance SQL appelée "ABC"? Si c'est ce dernier, votre source de données doit pointer sur {nom d'ordinateur} \ abc sans les accolades


Vérifiez ceci: Stackoverflow.com/Questtions/20217518/...


Avez-vous essayé la dernière recommandation de @FAILEDPROGRAMMING? De plus, vous pouvez essayer avec la source de données =. \ Abc ou juste source de données =.


3 Réponses :


7
votes

vous pouvez essayer ceci

  1. dans Server Explorer, clic droit, choisissez Ajouter une connexion
  2. Entrez (localdb) \ v11.0 dans le nom du serveur
  3. Choisissez votre base de données et appuyez sur Connect
  4. Cliquez avec le bouton droit sur Propriétés de votre nouvelle connexion
  5. Utilisez cette connexion dans la chaîne de votre connexion par défaut

    I.e. xxx


    Si cela ne fonctionne pas, essayons de le démarrer à partir de la ligne de commande

    1. Invite de commande ouverte
    2. Exécutez SQLLOCALDB.EXE START V11.0

      Suivez les étapes d'origine, utilisez le tuyau nommé comme nom de serveur


      si cela ne fonctionne pas, essayez de vous connecter via des tuyaux nommés <00

    3. Invite de commande ouverte
    4. Exécuter SQLLOCALDB.EXE INFO V11.0
    5. Copiez le nom du tuyau d'instance qui commence par NP: ...

      Suivez les étapes d'origine, utilisez le tuyau nommé comme nom de serveur

      par exemple

       Entrez la description de l'image ici


2 commentaires

Merci Saruman. Il n'y a pas encore de base de données, car j'utilise d'abord le code EF, je pense que l'EF créera la DB pour moi. Lorsque j'utilise votre méthode 1, après avoir saisi «localdb) \ v11.0, j'ai trouvé quatre bases de données sous« Sélectionnez ou entrez un nom de base de données », ils sont: maître, modèle, msdb, tempdb. Si je choisis maître, la chaîne de connexion est "Source de données = (localdb) \ v11.0; Sécurité intégrée = true". Lorsque j'utilise la méthode 2, il n'y a pas de tuyau nommé montré après l'étape 2. Lorsque j'utilise la méthode 3, j'ai eu la même méthode Nom du serveur comme le vôtre, mais cela me donne toujours un message d'erreur similaire.


@TOOOOLD ouais je pense que je vous mènerai dans le chemin du jardin ici



7
votes

exécutez cette commande pour vous assurer de quelle est la version de votre localDB Info SQLLOCALDB SQLLOCALDB Info Command Résultat

donc dans mon cas, la version est mssqllocaldb alors la chaîne de connexion ressemblera à ceci


0 commentaires

0
votes

Pour ajouter sur la vue Générale d'utilisation - Visionneuse d'objet SQL Server et regarder immédiatement sous l'objet "SQL Server". Vous verrez le nom de la connexion à la recherche de quelque chose comme "(localdb) \ projectionsv13" La main Entrez cela dans la zone de connexion, puis vous pouvez parcourir le serveur de la base de données que vous souhaitez utiliser.


0 commentaires