none
ADO.NET Entity Data Model : erreur de connexion à la base de données RRS feed

  • 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
    dimanche 10 mai 2009 19:10

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#
    vendredi 22 mai 2009 09:53
    Modérateur
  • 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#
    dimanche 31 mai 2009 07:33
    Modérateur
  • 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#
    dimanche 31 mai 2009 10:31
    Modérateur

Toutes les réponses

  • Bonjour,

    Quel édition de SQL Server est installé sur votre poste ?

    Cordialement
    Gilles TOURREAU - MVP C#
    lundi 11 mai 2009 08:00
    Modérateur
  • 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
    lundi 11 mai 2009 17:30
  • 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#
    samedi 16 mai 2009 14:05
    Modérateur
  • 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
    dimanche 17 mai 2009 21:42
  • 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#
    lundi 18 mai 2009 07:52
    Modérateur
  • Bonjour,

    Merci beaucoup pour cette procédure. Je vais la suivre en espérant que le résultat sera au rendez-vous.
    Je préfère cette solution "douce" au reformattage du poste de développement.
    Je vous dirai.

    Bonne journée.

    Alain
    lundi 18 mai 2009 08:03
  • 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
    mardi 19 mai 2009 21:57
  • 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#
    jeudi 21 mai 2009 06:55
    Modérateur
  • 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
    jeudi 21 mai 2009 17:03
  • 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#
    vendredi 22 mai 2009 09:53
    Modérateur
  • 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
    samedi 30 mai 2009 21:14
  • 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#
    dimanche 31 mai 2009 07:33
    Modérateur
  • Merci Gilles pour votre réponse en ce beau WE.

    C'est bien une version Express que j'ai installée.
    Je vais essayer de créer une nouvelle instance avec le bon nom SQLEXPRESS.

    Faut-il utiliser SQL Server Management Studio pour cela ?

    Bon WE.
    Alain
    dimanche 31 mai 2009 09:24
  • 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#
    dimanche 31 mai 2009 10:31
    Modérateur
  • peut-etre la base est corrompue? on peut essayer le réparation mdf logiciel
    mardi 12 avril 2011 17:50