Maison >développement back-end >C++ >Pourquoi mes modifications de la base de données disparaissent-elles après la fermeture de mon application SQL Server Compact Edition?

Pourquoi mes modifications de la base de données disparaissent-elles après la fermeture de mon application SQL Server Compact Edition?

Linda Hamilton
Linda Hamiltonoriginal
2025-02-01 15:56:101026parcourir

Why Do My Database Changes Disappear After Closing My SQL Server Compact Edition Application?

Dépannage des modifications de la base de données perdues sur la fermeture de l'application

Lors du débogage avec SQL Server Compact Edition 4 et VS2012 Express, les modifications de la base de données effectuées via une application de console peuvent sembler disparaître après la fermeture de l'application. Cela découle souvent de l'utilisation de l'espace réservé |DataDirectory| dans votre chaîne de connexion.

Comprendre le |DataDirectory| Problème

|DataDirectory| pointe vers un emplacement temporaire dans le dossier bin de votre projet. La base de données utilisée lors du débogage réside ici et est supprimée lors de la fin de la session. Cela explique pourquoi les changements sont visibles dans le débogueur mais disparaissent par la suite. Le Visual Studio Server Explorer, cependant, pourrait montrer une base de données apparemment inchangée dans le dossier principal de votre projet.

Résolution du problème

Voici plusieurs approches pour résoudre ce problème:

  • Modifier les propriétés des fichiers de base de données: Dans l'explorateur de solutions de Visual Studio, modifiez la propriété "Copier vers le répertoire de sortie" de votre fichier de base de données. Définissez-le sur "Copier si plus nouveau" ou "ne copiez pas". Cela empêche la base de données d'être copiée automatiquement dans le dossier bin.
  • Double connexion de la base de données: Créez deux connexions dans l'explorateur de serveurs: un ciblant la base de données dans votre dossier de projet (pour le débogage) et un autre pointant vers la base de données dans le dossier bin (pour surveiller les modifications) .
  • Considérations de la base de données d'accès MS: Notez qu'avec les bases de données d'accès MS, la simple visualisation de la table dans l'explorateur de serveur peut modifier l'horodatage de la base de données. Si "Copier si plus nouveau" est sélectionné, le fichier de base de données sera inutilement copié dans le répertoire de sortie. L'utilisation de "ne pas copier" est recommandée dans ce scénario.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn