Meilleur auteur de réponses
ADO.NET Entity Data Model : erreur de connexion à la base de données

Question
-
Bonjour,
Je développe en C# sous VS2008 SP1. J'ai SQL server 2005 installé de base sur ma machine.
Avec SSMSE j'ai ajouté la base Northwind.mdf.
Dans mon ASP.NET Web Application j'ajoute l'item ADO.NET Entity Data Model.
Sur le panneau des propriétés de connexion qui s'ouvre alors, j'ai :
1 - Data Source = Microsoft Sql Server (SqlClient) qui est déjà sélectionné, et non modifoable.
2 - Server Name je choisi SQLEXPRESS dans la liste (c'est le seul).
3 - Connect Data Base, je choisi Northwind.mdf dans la liste proposée.
Le test de la connexion fonctionne.
Mais lorsque je fais Ok sur ce panneau des propriétés de connexion je reçois un message d'erreur de VS : "... Could not load file or assembly Microsoft.SqlServer.Management.Sdk.Sfc, fichier introuvable"
De quoi s'agit-il ? Quelque chose est-il mal installé sur mon poste ? comment résoudre ce problème ?
Merci de votre aide.
Alain
Réponses
-
Bonjour,
Si vous avez accès à SQL Server via SQL Management Studio, c'est que vous devez avoir accès en tant qu'administrateur....
Lorsque vous vous connectez sous SQL Server via Visual Studio avez vous utilisé les mêmes paramètres de connexion que sous SQL Management Studio ?
Cordialement
Gilles TOURREAU - MVP C#- Proposé comme réponse Papy Normand jeudi 28 mai 2009 16:11
- Marqué comme réponse Gilles TOURREAUModerator samedi 30 mai 2009 15:50
- Non marqué comme réponse Gilles TOURREAUModerator dimanche 31 mai 2009 07:29
- Marqué comme réponse Gilles TOURREAUModerator samedi 13 juin 2009 19:59
-
Bonjour,
Afin de pouvoir installer plusieurs instance de SQL Server sur la même machine et de pouvoir les différencier il faut leur attribuer un nom :
LOCALHOST\INSTANCE1, LOCALHOST\INSTANCE2,...etc
Il est possible aussi d'avoir une instance sans nom : LOCALHOST.
Par défaut, SQL Server (toutes les éditions sans Express) propose d'installer une instance sans nom.
Par défaut, SQL Server Express propose d'installer une instance avec le nom SQLEXPRESS.
Ces noms d'instance se définissent à l'installation de SQL Server.
Si vous souhaitez installer SQL Server (non Express) avec comme nom SQLEXPRESS, il vous faudra désinstaller la précédente instance (sans nom), réinstaller SQL Server et spécifier dans le programme d'installation le nom de l'instance.
Cordialement
Gilles TOURREAU - MVP C#- Marqué comme réponse Gilles TOURREAUModerator samedi 13 juin 2009 19:59
-
Bonjour,
Non, c'est à l'installation de SQL Server que l'on peut spécifier le nom de l'instance.
Cordialement
Gilles TOURREAU - MVP C#- Marqué comme réponse Gilles TOURREAUModerator samedi 13 juin 2009 19:59
Toutes les réponses
-
-
Bonjour,
Le SQL Server qui est installé est une version EXPRESS 2005. Je veux bien fourinir plus d'infos mais je ne sais pas où les trouver.
J'ai le SP1 de VS 2008 et Framework installés. Mais altérés ? Faut-il réinstaller SP1 de VS ?
Sur un autre poste, cela fonctionne correctement.
Merci
Alain -
Bonjour,
Depuis ce site :
http://www.microsoft.com/downloads/details.aspx?displaylang=fr&FamilyID=c6c3e9ef-ba29-4a43-8d69-a2bed18fe73c
Téléchargez et installez :
Types CLR du système Microsoft SQL Server
Microsoft SQL Server 2008 Management Objects
Microsoft SQL Server 2008 Native Client
Cordialement
Gilles TOURREAU - MVP C# -
Bonjour,
Merci Gilles pour votre réponse.
J'ai probablement commis une erreur de manip en voulant d'abord désinstaller SQL Server Express 2005 puis installer SQL Serveur Express 2008 disponible sur le Coach. Cette installation n'a pas fonctionné et je me retrouve avec un VS 2008 qui est devenu instable et surement mal configuré... En plus une Registry probablement en mauvais état.
Je vais devoir tout désinstaller puis réinstaller proprement VS 2008 avec SQL Server Express 2005, que je voudrais transformer ensuite en Express 2008.
Y a t'il moyen de nettoyer la Registry avant cela ?
Merci de votre aide.
Alain -
Bonjour,
Le plus souvent une simple réparation de Visual Studio 2008 suffit.
Je vous conseille de désinstaller Visual Studio et Sql Express 2008.
D'installer SQL Server Express 2008.
D'installer Visual Studio 2008 (sans SQL Server Express)
Installer le service Pack 1 de Visual Studio 2008.
Cordialement
Gilles TOURREAU - MVP C# -
-
Bonjour Gilles,
Alors voici les actions que j'ai réalisées :
1 - désinstallation complète de VS 2008 Pro et tout ce qui s'y rapportait
2 - désinstallation de SQL Server 2005 et 2008 (mal installé)
3 - nettoyage (un peu) de la Registry car il restait beaucoup de référence à VS 2003 ! Tout fonctionne toujours !
4 - Installation de SQL Server Express 2008 with Advanced Services (une erreur sans importance liée à System32/msxml6r.dll est signalée)
5 - Installation de SQL Server 2008 Service Pack 1
6 - Désinstallé VS 2008 Shell qui venait d'être installé par SQL Server + 2 VS tools pour applications (pour pouvoir installer VS sur une partition différente du disque dur)
7 - Installation de VS 2008 Pro puis de son SP1
Ouf ! un vrai parcours du combattant pour savoir ce qu'il faut charger au juste... et encore, ai-je bien tout chargé ?
J'ai le Framework 3.5 SP1.
Depuis VS, je ne vois pas SQLEXPRESS et je ne peux pas attacher de base ni en créer une. Je comprends que j'ai commis une erreur lors de son installation, j'ai indiqué comme compte : AUTORITE NT/SYSTEM (je ne savais pas quoi mettre) et non mon compte d'utilisateur (je suis administrateur) = <Nom de l'ordi>/<username>.
Il est surement possible de rajouter mon compte utilisateur, mais comment faire cela ?
Avez-vous la même interprétation de la situation ?
Merci beaucoup.
Alain -
Bonjour,
"Depuis VS, je ne vois pas SQLEXPRESS et je ne peux pas attacher de base ni en créer une. Je comprends que j'ai commis une erreur lors de son installation, j'ai indiqué comme compte : AUTORITE NT/SYSTEM (je ne savais pas quoi mettre) et non mon compte d'utilisateur (je suis administrateur) = <Nom de l'ordi>/<username>."
Avez vous accès à SQL Serveur via SQL Management Studio ?
Dans l'installation de SQL Server 2008, avez vous ajouté votre compte comme administrateur de SQL Server ?
Cordialement
Gilles TOURREAU - MVP C# -
Bonjour Gilles,
Avez vous accès à SQL Serveur via SQL Management Studio ?
Réponse : OUI.
Dans l'installation de SQL Server 2008, avez vous ajouté votre compte comme administrateur de SQL Server ?
Réponse : Malheureusement non, et je pense que le problème est là.
Comment puis-je faire pour l'ajouter maintenant ?
Cordialement
Merci
Alain -
Bonjour,
Si vous avez accès à SQL Server via SQL Management Studio, c'est que vous devez avoir accès en tant qu'administrateur....
Lorsque vous vous connectez sous SQL Server via Visual Studio avez vous utilisé les mêmes paramètres de connexion que sous SQL Management Studio ?
Cordialement
Gilles TOURREAU - MVP C#- Proposé comme réponse Papy Normand jeudi 28 mai 2009 16:11
- Marqué comme réponse Gilles TOURREAUModerator samedi 30 mai 2009 15:50
- Non marqué comme réponse Gilles TOURREAUModerator dimanche 31 mai 2009 07:29
- Marqué comme réponse Gilles TOURREAUModerator samedi 13 juin 2009 19:59
-
Bonsoir Gilles,
J'ai été absent ce qui explique que je ne réponde que maintenant.
En fait, après plusieurs essais et une bonne idée, j'ai bien accès à SQL Server 2008 depuis VS, contrairement à ce que j'avais cru initialement, car cet accès est un peut différent du précédent. En effet SQL Server 2005 était connu de VS sous le nom : <nom de machine>\SQLEXPRESS.
Alors que dans mon installation SQL Server 2008 c'est seulement <nom de machine>. Je dois ajouter manuellement "\SQLEXPRESS". Ce que je ne savais pas lorsque j'ai posé ma question.
Alors maintenant ma question devient : "Comment puis-je modifier mon installation SQL Server 2008 pour ajouter "\SQLEXPRESS" au mon du serveur" afin qu'il soit vu ainsi de VS ?
Merci beaucoup.
Alain -
Bonjour,
Afin de pouvoir installer plusieurs instance de SQL Server sur la même machine et de pouvoir les différencier il faut leur attribuer un nom :
LOCALHOST\INSTANCE1, LOCALHOST\INSTANCE2,...etc
Il est possible aussi d'avoir une instance sans nom : LOCALHOST.
Par défaut, SQL Server (toutes les éditions sans Express) propose d'installer une instance sans nom.
Par défaut, SQL Server Express propose d'installer une instance avec le nom SQLEXPRESS.
Ces noms d'instance se définissent à l'installation de SQL Server.
Si vous souhaitez installer SQL Server (non Express) avec comme nom SQLEXPRESS, il vous faudra désinstaller la précédente instance (sans nom), réinstaller SQL Server et spécifier dans le programme d'installation le nom de l'instance.
Cordialement
Gilles TOURREAU - MVP C#- Marqué comme réponse Gilles TOURREAUModerator samedi 13 juin 2009 19:59
-
-
Bonjour,
Non, c'est à l'installation de SQL Server que l'on peut spécifier le nom de l'instance.
Cordialement
Gilles TOURREAU - MVP C#- Marqué comme réponse Gilles TOURREAUModerator samedi 13 juin 2009 19:59
-
peut-etre la base est corrompue? on peut essayer le réparation mdf logiciel