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

C# Discussion :

File.Copy ferme la connexion Access


Sujet :

C#

  1. #1
    Membre régulier Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Points : 78
    Points
    78
    Par défaut File.Copy ferme la connexion Access
    Bonjours

    J'ai un programme qui utilise une base de données Access.
    J'ai dû ajouté un option du menu qui fait un backup de la base de données sur une clé USB (avec la fonction File.Copy() )

    Le problème est qu'une fois qu'on fait une copie du fichier Access, la connexion se ferme automatiquement. Même si je ferme et j'ouvre la connexion de nouveau, la connexion reste toujours fermée

    De plus, quand on clique sur "retirer le périphérique en toute sécurité" (lors d'un backup sur une clé USB), on obtient un message disant qu'un fichier est toujours en utilisation.

    Je ne comprend plus rien.
    Merci d'avance

    Si vous voulez des bouts de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // connexion 
    m_connexion = new OleDbConnection();
    m_connexion.ConnectionString = "Provider=microsoft.jet.oledb.4.0;Data Source=" + m_nomFichier + ";";
    m_connexion.Open();
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // Fermeture de la connexion
    m_connexion.Close();
    m_connexion.Dispose();
    m_connexion = null;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    // Backup
    File.Copy(m_doc.Preferences.CheminBD, saveFileDialogBackup.FileName);

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Faut fermer la connexion avant de faire ton backup. Et juste derrière tu la rouvres, tout simplement.

  3. #3
    Membre régulier Avatar de deejay2221
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    98
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2006
    Messages : 98
    Points : 78
    Points
    78
    Par défaut
    Merci pour la réponse.

    En fait c'est plus étrange que ça encore.

    Tant que je ne déconnecte pas la clé USB, tout fonctionne bien. Je peux faire des actions sur la BD. Une fois que je déconnecte la clé USB, j'ai un erreur d'exécution disant que la connexion est fermée.

    Pourtant, quand je regarde les propriétés de ma connexion, je vois très bien que le chemin de la BD est celle locale sur le Disque dur et non celle de la clé

    Comment ce fait-il alors que lorsque "j'efface" le fichier qui a été copié, la connexion de la BD originale se ferme??? Il n'y a selon moi aucun lien logique entres les 2 actions... je ne comprend plus rien

    P.S. Je ferme la connexion avant de faire la copie. Quand je rouvre la connexion pour recommencer mes actions, c'est là que la propriété "State" de ma connexion est à "Closed"... Et ce, même si je viens juste de supprimer toutes les traces et les pointeurs, de fermer la connexion correctement et de rouvrir correctement cette connexion.

    Merci d'avance

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Je ne vois aucune explication au problème, toutefois tu peux toujours essayer ceci après le File.Copy:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FileStream fileStream = new FileStream(saveFileDialogBackup.FileName,
        FileMode.Open,FileAccess.ReadWrite,FileShare.ReadWrite);
    fileStream.Unlock(0, fileStream.Length);
    fileStream.Close();

Discussions similaires

  1. Problème de mot de passe : Connexion Access
    Par digital prophecy dans le forum Bases de données
    Réponses: 12
    Dernier message: 13/06/2012, 10h23
  2. [Connexion][Access] Comment faire ?
    Par amazircool dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 12/06/2006, 07h17
  3. Data, MSFlexGrid, Connexion ACCESS
    Par Mamoudou Ly dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 18/12/2005, 10h42
  4. Probleme de connexion Access - SQL Server
    Par 24 faubourg dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/12/2005, 22h24
  5. problèmede connexion à Access
    Par boucher_emilie dans le forum ASP
    Réponses: 29
    Dernier message: 01/07/2004, 14h48

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