Je travaille sur une application de bureau winforms qui doit stocker des données. J'ai pris la très mauvaise décision d'essayer d'intégrer une base de données. J'ai essayé:Toutes les bases de données incorporées ne parviennent pas à ouvrir les connexions
- 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 j'ai utilisées pour tester ces bases de données. Eh bien, j'ai continué à ajouter un nouvel enregistrement en utilisant EF et je n'ai pas trouvé d'enregistrement. En débogage, j'ai vérifié l'objet de contexte pour voir ce qui se passait. Il s'avère qu'il est dit "le fournisseur sous-jacent n'a pas ouvert", ou quelque chose à cet effet. Il ne lançait pas d'exception, mais n'insérait pas d'enregistrement. La même chose s'est produite pour les 3 bases de données embarquées - ce qui m'a incité à comprendre à travers ma tête dense qu'il doit y avoir quelque chose qui ne va pas dans ma configuration.
Eh bien, j'ai essayé d'écrire un sql de base en utilisant une sqlconnection et une sqlcommand. Cette fois, il jette une exception. Dans le cas SQL Server Compact, il est désormais indiqué:
Une erreur liée au réseau ou à 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 d'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (fournisseur: SQL Network Interfaces, erreur: 26 - Erreur de localisation du serveur/de l'instance spécifiée)
Je pensais que le chemin de l'app.Config était peut-être un problème. 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 a évité d'utiliser le non-sens répertoire de données 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 cours Windows 7; Je pensais que c'était peut-être un problème d'accès - alors j'ai essayé de lancer 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.
De toute façon, je suis prêt à tirer mes cheveux. Je suis sur une échéance serrée pour cette chose et ne m'attendais pas à passer la journée à essayer de comprendre ce qui se passe.
en l'état, je doute que quelqu'un puisse répondre à votre question. Besoin de plus de détails –
Désolé, pour une raison quelconque, le code n'est pas venu à travers. Voici la chaîne de connexion: –
rsteckly
J'ai réussi à utiliser VistaDB 4 et 5 avec EF Code-first, mais j'ai également occasionnellement (dans VistaDB 5 cas) obtenir ce "fournisseur de sous-couche n'a pas réussi à ouvrir". Vista DB prend en charge plus de choses (y compris les écritures simultanées!) Que SQL Compact ou SQLite – Prokurors