Question

Je viens d'installer Web Developer Express 2008 et le framework MVC (conformément à toutes les valeurs par défaut, SQL Server Express a été installé au cours du processus). J'ai suivi l'initiale NerdDinner , créé une base de données à partir de l’EDI et défini des tables (fonctionnait parfaitement).

Pour mieux définir mes tables, qui reposent beaucoup sur la base d'utilisateurs, je devais trouver comment ajouter les tables d'utilisateurs à la base de données que je venais de créer (pour pouvoir créer des tables avec des clés étrangères dans la table des utilisateurs), donc j'ai " sauté " à la section authentification et autorisation du manuel, où ils ont mentionné que je dois exécuter " aspnet_regsql.exe " à partir du répertoire " C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 ".

J'ai trouvé le fichier et je l'ai exécuté.

Il demande un nom de serveur et a des valeurs par défaut (c'est l'initiale du nom de mon ordinateur). Je ne me souviens pas avoir mentionné explicitement un tel nom lors de l'installation de Visual Web Developer, je suppose que c'est un nom par défaut. " Authentification Windows " est sélectionné. Je peux également choisir & Quot; authentification serveur SQL & Quot; mais je ne me souviens pas d'avoir créé le nom d'utilisateur et le mot de passe requis pour cela.

Lorsque je choisis une base de données, je clique sur le menu déroulant " Base de données " zone de liste déroulante, cela prend quelques secondes, puis le message d’erreur suivant est affiché:

" Echec de l'interrogation d'une liste de noms de bases de données auprès du serveur SQL. Une erreur liée au réseau ou spécifique à une instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions à distance. (fournisseur: fournisseur de canaux nommés, erreur: 40 - Impossible d'ouvrir une connexion à SQL Server) "

J'ai effectué des recherches sur ce site en ligne et je n'ai pas trouvé de solution simple à mon problème apparemment trivial.

Pour clarifier, je ne veux pas de connexion à distance, mais plutôt locale.

Dois-je exécuter certaines étapes avec mon installation locale de SQL Server Express avant de pouvoir poursuivre le processus regsql?

C’est simple, l’installation est prête à l'emploi ... Des idées?

Était-ce utile?

La solution

Commencez par copier une copie de sauvegarde de votre fichier MDF au cas où cette commande rendrait votre travail totalement flexible. Essayez ceci: aspnet_regsql -A all -C "Data Source=.\SQLEXPRESS;Integrated Security=True;User Instance=True" -d "PATH_TO_MY_DATABASE.MDF_FILE"

Modifiez PATH_TO_MY_DATABASE.MDF_FILE le chemin d'accès complet à votre fichier MDF. Il réside probablement dans votre dossier APP_DATA.

Ces informations proviennent de cet article de blog , et je l’avais utilisé avec succès par le passé pour configurer les tables d’appartenance à un projet SQL Server Express avec une base de données de fichiers MDF.

Autres conseils

Si vous souhaitez continuer à utiliser l'assistant, c'est une solution très simple. Sur le & Quot; Sélectionnez le serveur et la base de données & Quot; écran où vous obtenez ce problème, la valeur par défaut dans le " serveur " La zone de texte sera définie sur le nom de votre machine. Ajoutez l’instance spécifique du serveur SQL à laquelle vous souhaitez vous connecter (c’est-à-dire que LOCALHOST peut devenir LOCALHOST \ SQLEXPRESS).

Si vous pointez sur une instance valide, votre " Base de données " La liste déroulante se remplira comme prévu.

Ce problème n'est pas du tout lié à asp.net mvc, il s'agit simplement d'un problème de base de données.

D'après ce que vous avez décrit.

  

Relatif au réseau ou spécifique à une instance   une erreur s'est produite lors de l'établissement d'un   connexion à SQL Server. Le serveur   n'a pas été trouvé ou n'était pas accessible.   Vérifiez que le nom de l'instance est   correct et que SQL Server est   configuré pour permettre à distance   connexions.

Je voudrais m'assurer:

1 > SQL Express est en cours d'exécution. 2 & Gt; Quel type de protocole définissez-vous pour la connectivité? Je sélectionne normalement TCP / IP.

J'espère que cela vous aidera.

Vous pouvez rechercher comment exécuter aspnet_regsql par rapport à SQL Express (il existe de nombreux articles de blog à ce sujet). J'ai eu du mal à le faire fonctionner correctement par le passé (malheureux, probablement), mais vous pouvez également le faire:

  1. exécuter l'application MVC après la création du projet
  2. cliquez sur le lien Ouvrir une session, puis enregistrez un nouveau compte (cela créera une base de données SQL Express pour vous)
  3. (facultatif mais pratique :) dans VS, ajoutez le fichier MDF au projet (sous App_Data)
  4. (facultatif :) renommez le fichier MDF et mettez à jour les chaînes de connexion dans web.config (remplace aspnetdb.mdf par NerdDinner.mdf ou le nom de votre choix)

Lame solution de contournement, je sais, mais il va vous permettre de fonctionner sans trop de tripes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top