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

VB 6 et antérieur Discussion :

Executer une commande DOS:sauvegarde d'une base de données PostgreSQL


Sujet :

VB 6 et antérieur

  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut Executer une commande DOS:sauvegarde d'une base de données PostgreSQL
    Bonsoir a tous!
    Je désire sauvegarder une base de données postgresql. J'ai bouton et dès que je clique dessus la commande s'exécute pour sauver la base.
    j'ai essayé ceci:
    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
     
    Private Sub bouton_Click()
         Dim Commande As String
         Dim Resultat As Long
     
    Commande = "C:\Program Files\PostgreSQL\8.2\bin\ pg_dump.exe -i -h
    localhost -p 5432 -U postgres -F c -b -v -f "C:\Documents and
    settings\POSTE\Bureau\rapport\rolls.backup " testrolls " ' testrolls :nom de ma base rolls.backup :fichier de sauvegarde
     
    Resultat = Shell(Commande, vbHide)
    If Resultat = 0 Then 'teste de l'ID du processus
        MsgBox "Erreur"
    Else
        MsgBox "Succès"
    End If
     
    End Sub
    mais il y'a une erreur: le fichier n'existe pas.
    cependant quand j'exécute ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\PostgreSQL\8.2\bin\ pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "C:\Documents and Settings\POSTE\Bureau\rapport\rolls.backup " testrolls "
    dans la fenetre DOS ca marche.
    Quelqu'un peut-il m'aider?
    D'avance merci!

  2. #2
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Surement un problème de " ..... , les " qui doivent être dans ta ligne de commande doivent être doublés dans la chaine Commande.

    Mais déjà il y as surement un problème dans la ligne de commande "qui marche" car je ne vois que 3 " !

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut
    Citation Envoyé par bbil Voir le message
    Surement un problème de " ..... ,

    Mais déjà il y as surement un problème dans la ligne de commande "qui marche" car je ne vois que 3 " !
    bonjour bbil effectivement dans le code qui marche il y'a une côte qui manque.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Program Files\PostgreSQL\8.2\bin\ pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f "C:\Documents and Settings\POSTE\Bureau\rapport\rolls.backup " "testrolls "

  4. #4
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Donc pour écrire ta ligne commande = .. tu commence par doubler tous les " qui sont présent dans la ligne de commande 'qui marche' et tu rajoute 2 " autour ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    commande= "C:\Program Files\PostgreSQL\8.2\bin\ pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f ""C:\Documents and Settings\POSTE\Bureau\rapport\rolls.backup "" ""testrolls "" "

  5. #5
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut
    je viens de tester les corrections que tu as apporté.il signale une erreur :fichier introuvable
    Lorsque j'utiliseur le debogueur il souligne la ligne sous dessous (en rouge)
    [QUOTE=rolls;3897955]
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Private Sub bouton_Click()
         ...
         ...
    Resultat = Shell(Commande, vbHide)
    If Resultat = 0 Then 'teste de l'ID du processus
        MsgBox "Erreur"
    Else
        MsgBox "Succès"
    End If
    
    End Sub

  6. #6
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    Vérifie ta ligne de commande, j'ai fait un copier/coller de la ligne postée,... mais voir par exemple l'espace entre \ et pg..:


  7. #7
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 143
    Points : 177
    Points
    177
    Par défaut
    Essai en remplaçant ta ligne d'affectation de la variable Commande par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Commande = "C:\Program Files\PostgreSQL\8.2\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f " & Chr(34) & "C:\Documents and settings\POSTE\Bureau\rapport\rolls.backup" & Chr(34) & " testrolls"
    Soit au final :

    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
     
    Private Sub bouton_Click()
         Dim Commande As String
         Dim Resultat As Long
     
    Commande = "C:\Program Files\PostgreSQL\8.2\bin\pg_dump.exe -i -h localhost -p 5432 -U postgres -F c -b -v -f " & Chr(34) & "C:\Documents and settings\POSTE\Bureau\rapport\rolls.backup" & Chr(34) & " testrolls"
     
    Resultat = Shell(Commande, vbHide)
    If Resultat = 0 Then 'teste de l'ID du processus
        MsgBox "Erreur"
    Else
        MsgBox "Succès"
    End If
     
    End Sub
    Edit : le code Chr(34) permet de remplacer le caractère " dans une chaine de caractères ce qui normalement reviens au même que la solutions proposée par bbil.

    Cravis.

  8. #8
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut
    Merci cravis je viens de tester ta solution et ça marche.
    merci beaucoup.

  9. #9
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 143
    Points : 177
    Points
    177
    Par défaut
    De rien, n'oublie pas de mettre la balise RESOLU

    Cravis.

  10. #10
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2007
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mars 2007
    Messages : 310
    Points : 133
    Points
    133
    Par défaut
    ok ça marche!

  11. #11
    Membre du Club
    Inscrit en
    Septembre 2007
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 85
    Points : 42
    Points
    42
    Par défaut sauvegarde de base de données postgresql
    j'ai utilise les codes proposés mais aucun ne marche correctement.la base est sauvegarder mais ce vide

  12. #12
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Bonjour également,

    si tu ne nous montres pas ton code, ça va être dur à résoudre.

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

Discussions similaires

  1. [DOS] Je recherche une commande dos pour graver
    Par tomblaireau dans le forum Scripts/Batch
    Réponses: 4
    Dernier message: 01/04/2007, 09h25
  2. Exécution d'une commande DOS
    Par ac/dc dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/08/2006, 10h36
  3. [API][Système] Executer une commande dos avec arguments
    Par oOoOuuhmAn dans le forum Général Java
    Réponses: 4
    Dernier message: 17/03/2006, 12h37
  4. executer une commande dos a partir d'une page WEB
    Par wagga84 dans le forum Langage
    Réponses: 1
    Dernier message: 15/03/2006, 11h09
  5. [Debutant(e)][Système]Executer une commande DOS
    Par iceman dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 18/05/2004, 14h30

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