SQL Compact 4.0 ne peut pas ouvrir/lire le fichier sdf

J'ai installé SQL Compact 4.0 CTP 2 via WPI et J'ai utilisé NUPack pour ajouter SQLCE.Entitefram framework in my project. Il se compile et tourne parfaitement mais je ne peux pas ouvrir le fichier SDF dans L'Explorateur de serveur de Visual Studio 2010.

Quand j'essaie, je reçois toujours le message suivant:


Microsoft Visual Studio

ce N'est pas un fichier de base de données compacte SQL Server valide ou cette version de fichier N'est pas supportée par le SQL Server Compact Moteur.

OK

j'ai déjà essayé de désinstaller et tout réinstaller.

il ne peut pas être ouvert dans SQL Server 2008 R2 Management Studio aussi.

s'il vous Plaît aider!!

23
demandé sur Andre Vianna 2010-11-01 19:25:43

3 réponses

L'installation de ceci (les outils SP1 de Visual Studio 2010 pour SQL Server Compact 4.0) a corrigé ce problème exact pour moi parfaitement: http://go.microsoft.com/fwlink/?LinkId=212219

Accessoires pour ErikEJ de ce fil: http://forums.asp.net/t/1811963.aspx/1

12
répondu 2012-08-17 22:56:32

j'ai rencontré le même problème en essayant de suivre les tutoriels de MVC3 (MvcMovie) fournis par asp.net quand on m'a dit de double-cliquer sur les " films.sdf" fichier pour vérifier les tables ou d'autres infos.

Acturally la solution est juste en dessous de la demande:

notez si vous obtenez une erreur lorsque vous double-cliquez Films.sdf, assurez-vous vous avez installé SQL Server Compact 4.0 (runtime + outils de soutien). (Pour les liens vers le logiciel, voir la liste des conditions préalables de la première partie cette série de tutoriels.) Si vous installez la version maintenant, vous aurez à fermez et rouvrez Visual Web Developer.

après L'installation de Sql Server Compact 4.0(runtime+tools support), le problème est résolu.

2
répondu Daniel Yu 2013-01-08 05:16:49

Cette question est un peu vieux. Mais je pense que la réponse est que VS2010 SP1 a SQLCE 3.5 et SQLCE 3.5 x64 seulement, et non SQL Compact 4.0. Les produits SQL sont associés à Studio. Il n'y a toujours pas de SQLCE 4.0 aujourd'hui en 2012 inclus dans la distribution de Studio 2010 (J'utilise Express edition).

ce packaging de version n'est pas la cause directe, mais juste un indice, que la version différente aura besoin d'un effort supplémentaire.

le correctif devrait impliquer l'enregistrement du" fournisseur de données " dans .net Framework utilisé par Visual Studio. Regardez "DbProviderFactories" à l'intérieur c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config. Cette section décrit les fournisseurs de données qui peuvent être utilisés par .NET et Studio.

S'il y a des entrées inattendues là-bas, essayer de réparer le cadre ou enregistrer les fournisseurs manuellement. Pour ce faire, certains outils d'inscription de bas niveau seront nécessaires. Dire pour asp.net fournisseurs il y a aspnet_regsql.exe etc. Mais pour juste SQLCE lui-même, il doit y être quelque chose de semblable.

<system.data>
    <DbProviderFactories>
       <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
    </DbProviderFactories>
</system.data>

la différence entre Studio cassé et L'application de travail est que les deux utilisent le même cadre mais ont des fournisseurs différents dans la config. (Ou l'application utilise une autre technique pour choisir une DLL et ouvrir SDF)

Réponse: Depuis le SP1, il est officiellement possible d'utiliser SQLCE4.0 en Studio 2010 SP1 (Merci à Nathan de Fisher pour le lien http://support.microsoft.com/kb/983509 )

0
répondu 2012-08-17 02:28:04