SQL Compact Edition 3.5 – L’access au fichier de firebase database n’est pas autorisé

J’ai développé une application (100% locale, sans access aux serveurs) à l’aide de SQL Server Compact 3.5, et cela fonctionne correctement sur mon ordinateur. Cependant, lorsque je l’ai déployé sur un autre ordinateur, il affiche cette erreur:

Access to the database file is not allowed. [ File name = data\BDApepucCE.sdf ] 

J’ai déployé sur un ordinateur Windows XP. Il montre cette erreur chaque fois que j’essaie d’écrire sur la firebase database, cependant, cela fonctionne quand je lis.

J’ai fait un test sur un ordinateur Windows 7 et cela a fonctionné à 100%, sauf en cas d’access au fichier par le biais du groupe résidentiel (réseau local), sur lequel il a échoué en lecture / écriture.

Plate-forme: Profil client Windows 7, Visual Studio 2010 et .NET 4

Assurez-vous d’utiliser |DataDirectory| dans votre chaîne de connexion. Voici un exemple

 connectionSsortingng="Data Source=|DataDirectory|MyDB.sdf" 

J’ai eu exactement le même problème et vous avez réussi à le résoudre en ajoutant le répertoire | DataDirectory | à ma chaîne de connexion.

Bonne chance.

Cela a fonctionné pour moi: http://solutionevangelist.com/community/discussion/20/access-to-the-database-file-is-not-allowed.-system.data.sqlserverce.sqlceexception/p1

C’est généralement un problème d’permissions. J’accorde à “Tout le monde” toutes les permissions sur le fichier .sdf dans App_Data, via l’interface graphique ou en utilisant

 icacls database.sdf /grant Everyone:F 

J’ai aussi eu le même problème. Ma solution était dans TFS / SourceControl au moment où je l’ai déployée et le fichier sdf a été archivé (c’est-à-dire en lecture seule), ce qui m’a causé exactement la même erreur que ci-dessus. Lorsque j’ai vérifié le fichier sdf et que je l’ai déployé à nouveau, tout allait bien. Je pensais partager cela au cas où d’autres utilisateurs de TFS rencontreraient le même problème.

Voici deux autres suggestions:

  • Essayez d’exécuter votre Visual Studio en tant qu’administrateur
  • Vérifiez si l’atsortingbut ‘readonly’ est défini sur le fichier sdf

Vous voudrez peut-être également vérifier si votre pool d’applications utilise le service réseau (et non le pool d’applications) et si les permissions du service réseau sont définies sur un contrôle total dans votre dossier AppData. C’était mon problème il y a quelque temps et j’ai oublié comment je l’avais fait, mais cette question m’a rappelé comment je l’ai fait.

Il vous suffit de faire en sorte que “Server Side Includes” soit autorisé dans le menu IIS “Web Services Extensions”.

cela a résolu tous mes problèmes.

La solution suivante a fonctionné pour moi:

“Les fichiers de programme” dans Windows étant protégés, les utilisateurs normaux ne peuvent pas y écrire, vos applications ne fonctionneront probablement qu’avec un utilisateur administrateur.

Modifiez le chemin du dossier de données de votre firebase database en un emplacement où tous les utilisateurs sont autorisés à écrire.

Ce ne serait pas la cause typique, mais j’ai rencontré ce message d’erreur lorsque le chemin d’access au fichier SDF CE de ma chaîne de connexion était incorrect. Une fois que j’ai résolu le problème, l’erreur est partie.

Il suffit de lancer votre application en tant qu’administrateur. J’ai résolu mon problème en utilisant ceci.