Question

Je travaille sur une application de bureau WinForms qui a besoin de stocker des données. Je pris la décision vraiment mauvais pour essayer de l'intégrer une base de données. J'ai essayé:

  • SQLite
  • VistaDB
  • SQL Server Compact

Dans tous les cas, j'ai pu générer un modèle Entity Framework sur le schéma de base que je l'ai créé. J'ai un événement qui ajoute des données que je l'ai utilisé pour tester ces bases de données.

Eh bien, je continuais d'ajouter un nouveau record en utilisant EF et de trouver qu'il n'a pas fait insérer un enregistrement. Dans le débogage, j'ai vérifié l'objet de contexte pour voir ce qui se passait. Il se trouve qu'il dit « le fournisseur sous-jacent n'a pas ouvert », ou quelque chose à cet effet. Il ne jetais pas une exception, mais pas l'insertion d'un enregistrement.

La même chose est arrivé pour les 3 bases de données embarquées -. Ce qui m'a incité à le faire dans ma tête dense qu'il doit y avoir un problème avec ma configuration

Eh bien, j'ai essayé d'écrire une base sql utilisant un SQLConnection et sqlcommand. Cette fois, il jette une exception. Dans le cas SQL Server Compact, il dit maintenant:

A lié à un réseau ou une erreur exemple spécifique est survenue lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou inaccessible. Vérifiez que le nom d'instance est correcte et que SQL Server est configuré pour autoriser les connexions à distance. (Fournisseur: SQL Interfaces réseau, erreur: 26 - Erreur de localisation du serveur / instance spécifié)

Je pensais que peut-être un problème était le chemin dans app.config. Alors j'ai changé la chaîne de connexion à:

Notez que j'ai simplifié le chemin loin de tout ce qui pourrait avoir des espaces et évité d'utiliser le répertoire de données non-sens qui provoque problème lorsque le répertoire de débogage ne correspond pas à la valeur préconfigurée pour le répertoire de données. Je suis sous Windows 7; Je pensais que ce serait peut-être un problème d'accès - donc j'essayé de courir VS 2010 en mode Administrateur. Pas de chance. J'ai également installé Sql Server Compact SP2, pensant que cela pourrait être un bug. Pas de chance.

Quoi qu'il en soit, je suis prêt à tirer mes cheveux. Je suis sur un délai serré pour cette chose et ne pensais pas passer la journée à essayer de comprendre ce qui se passe.

Était-ce utile?

La solution

Utilisez SqlCeConnection

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