IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Sécurité Discussion :

"Permission refusée" avec CopyFile sur base ouverte


Sujet :

Sécurité

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 6
    Points : 2
    Points
    2
    Par défaut "Permission refusée" avec CopyFile sur base ouverte
    Bonjour,
    Je suis confronté à un problème de sauvegarde de fichier .accdb ouvert.
    J'ai bien compris grâce à support.microsoft.com/kb/172711/fr que l'instruction FileCopy ne pouvait pas fonctionner.
    J'utilise donc CopyFile à partir de l'API Windows méthode "n° 1" décrite par la base de connaissance et fort bien décrite sur plusieurs posts de Developpez.com.

    Cela fonctionne bien avec une base en Access 2002 (.mdb) sur un environnement XP pro version 2002 SP3.
    Mais ça ne marche pas sur un autre ordinateur avec une base en Access 2010 (.accdr) sous Vista SP1. J'ai le fameux message d'erreur 70 "Permission refusée". J'ai consulté les échanges sans trouver une solution.
    • Je précise que j'ai bien les autorisations de lecture / écritures sur l'ensemble des dossiers.
    • J'ai également fait le test en neutralisant bitdefender

    J'ai essayé alors la seconde méthode de la base de connaissance avec l'appel de commande MS-DOS Copy sans plus de succès sur Vista.

    J'ai alors testé le code en réouvrant la base de données .accdr en lecture seule. La copie de sauvegarde fonctionne alors très bien. Le problème semble bien venir du statut de la base ouverte en lecture / écriture, alors même que j'utilise l'API pour m'en émanciper...

    J'ai donc testé l'attribut du fichier lors du lancement de ma fonction de sauvegarde et j'utilise la fonction SetFileAttributes pour mettre ma base en lecture seule au moment où cette fonctionnalité m'est nécessaire, ce que je vérifie sans problème avec l'explorateur dans les propriétés du fichier toujours ouvert. Mais le blocage persiste avec le même message "Permission refusée".

    Quelqu'un aurait-il une idée ?
    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    352
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 352
    Points : 181
    Points
    181
    Par défaut
    Bonjour,

    C'est normal FileCopy conduit à une esrreur sur une base ouverte ou une base liée à la base ouverte. J'ai eu le même problème. La solution est d'utilser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fso.CopyFile strName, strDest
    voir
    http://www.developpez.net/forums/edi...post&p=6327377 post 16.

    Jean-Pierre

Discussions similaires

  1. [Lazarus] [0.9.30] Connection avec Zeos sur base Free
    Par Heallidan dans le forum Lazarus
    Réponses: 11
    Dernier message: 13/02/2012, 13h12
  2. Join avec ADOQuery sur base MDB
    Par NorexaMS dans le forum Bases de données
    Réponses: 2
    Dernier message: 15/11/2009, 17h07
  3. Réponses: 7
    Dernier message: 18/11/2008, 15h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo