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

Access Discussion :

Sauvegarde base Access 2010 avec scrip powershell [AC-2010]


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien en télécommunication
    Inscrit en
    Mai 2013
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien en télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 199
    Par défaut Sauvegarde base Access 2010 avec scrip powershell
    Bonjour,

    j'ai créer une base de donnée et j'aimerai la sauvegarder tous les jours à la même heure.
    J'ai créer un petit scrip powershell.

    copy-item G:\Données\CDSD.accdb -destination c:\Donnéesbackup

    Donc ma base se trouve dans le dossier G:\Données et je veux la backuper dans le dossier c:\Donnéesbackup
    J'ai donc enregistrer mon scrip en backup.ps1 pour le powershell.
    Quand j’enclenche manuellement le script dans powershell ça fonctionne nickel mais quand je crée une tache planifiée et que je met mon script dans action, démarrer un programme et la je place mon script, rien ne ce passe.
    Quelqu'un pourrait il m'aider

    Merci à vous.

  2. #2
    Membre éclairé Avatar de fab.85
    Homme Profil pro
    GoodStock
    Inscrit en
    Octobre 2011
    Messages
    226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : GoodStock
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2011
    Messages : 226
    Par défaut
    Bonjour,

    et une copie à chaque fermeture de la base à des endroits différents ? cela pourrait-il convenir?

    cordialement,

    Fabien.

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien en télécommunication
    Inscrit en
    Mai 2013
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien en télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 199
    Par défaut
    Bonjour,
    ma base est toujours ouverte car elle sert pour des insérer des enregistrements jour et nuit.
    Après chaque ouverture j'ai placé un bouton "fermer" qui sauvegarde le nouvel enregistrement dans la table
    mais j'aimerai sauvegarder toute la base tous les jours vers 23h30 donc oui si vous avez déja la solution pour la sauvegarder quand on la ferme oui
    car je la ferme assez souvent pour maintenance mais mon problème ne sera pas résolu pour autant

    Chose que je ne comprend pas c'est pourquoi mon script fonctionne manuellement mais pas dans le planificateur de tâche

  4. #4
    Membre émérite

    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    789
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 789
    Par défaut
    Bonjour,

    Je fais la même chose que toi mais à chaque fermeture de ma dorsale.
    Avant d'en faire la sauvegarde, je supprime toutes mes tables liées mais je crois que le code suivant fonctionne tout de même.

    A tester.

    Colles le code suivant dans un module :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    'API pour copier un fichier d'un endroit à un autre
    Declare Function CopyFile Lib "Kernel32" Alias "CopyFileA" ( _
                     ByVal lpExistingFileName As String, _
                     ByVal lpNewFileName As String, _
                     ByVal bFailIfExists As Long) As Long
     
    Public Function CopyFileSauvegarde(ByVal SourceFileName As String, _
                             ByVal DestFileName As String, _
                             ByVal FailIfTargetExists As Boolean) As Long
    ' Copie de la frontale ou la dorsale lors de sa fermeture (sauvegarde)
    Dim strSourceTmp, strDestTmp As String
    Dim lgFailIfExists As Long
     
    strSourceTmp = SourceFileName & Space$(250 - Len(SourceFileName))
    strDestTmp = DestFileName & Space$(250 - Len(DestFileName))
     
    lgFailIfExists = CLng(FailIfTargetExists)
     
    On Error Resume Next
        Call CopyFile(strSourceTmp, strDestTmp, lgFailIfExists)
    On Error GoTo 0
     
    If Err.Number <> 0 Then
        MsgBox Err.Description, vbCritical
    End If
     
    CopyFileSauvegarde = Err.Number
    End Function
    Pour effectuer ta suavegarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call CopyFileSauvegarde(CheminDorsaleOrigine, CheminDorsaleSauvegarde, False)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 36
    Par défaut re Sauvegarde avec scrip powershell
    As-tu rentré tes login et mot de passe Windows dans le planificateur ?
    Sinon sur un forum powershell peut-être auras-tu une réponse.

  6. #6
    Membre éclairé
    Homme Profil pro
    Technicien en télécommunication
    Inscrit en
    Mai 2013
    Messages
    199
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Technicien en télécommunication
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2013
    Messages : 199
    Par défaut
    Voila résolu,

    dans l'onglet action quand on crée une tâche il faut indiqué "C:\WINDOWS\system32\WindowsPowerShell\v1.0\powershell.exe" pour mettre en route Powershell et dans arguments (le champs juste en dessous) il faut indiquer la ligne de commande donc la mienne est "copy-item G:\Données\CDSD.accdb -destination c:\Donnéesbackup".

    Ca fonctionne nickel, j'ai fais 3 tâches

    1 ère: tous les jours à 23h30, ma base se backup seule.
    2 éme : tous les dimanche à 23h00, ma base se backup seule.
    3 éme : une fois par mois à la fin du mois, ma base se backup seule.

    bien évidement chaque tâche s'enregistre dans des dossiers différents.

    Voila, pour celui a qui ça intéresse, la solution est la sans même arrêter la base de donnée ...

    Patrick

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compactage base Access 2010 avec JRO
    Par dany108 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 13/07/2022, 10h47
  2. [XL-2010] Faire fonctionner une requête qui lit une base Access 2010 avec mot de passe
    Par mister red dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/03/2015, 16h39
  3. Réponses: 4
    Dernier message: 20/06/2012, 13h56
  4. [VB6+Base Access]probleme avec des dates calculées
    Par jam92400 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 18/01/2007, 18h26
  5. Réponses: 2
    Dernier message: 23/02/2006, 12h23

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