Seite 2 von 2

Re: RunProgram Problem mit mysqldump

Verfasst: 31.01.2010 16:49
von Andreas21
So ich habs unter Linux jetzt getestet und der Code, geht wenn man das so macht.
Linux Version Debian 5

Code: Alles auswählen

prog.s="sh"

par.s="-c "+Chr(34)+"/opt/lampp/bin/mysqldump -u root --opt --all-databases > dbdata.sql"+Chr(34)
runner= RunProgram(prog,par,"",#PB_Program_Wait); auf keinen Fall ProgramHide
;da die Umleitung dann nicht funktioniert und in die Console ausgegeben wird und damit
;das verstecken gerade das umgekehrte erwirkt.
MessageRequester("ok","nochmal anders")

;mit folgenden kann die Ausgabe abgefangen und entsprechend bearbeitet werden (z.B. als
;datei weggeschrieben oder was auch immer
 par.s="-c "+Chr(34)+"/opt/lampp/bin/mysqldump -u root --opt --all-databases"+Chr(34)
 Debug prog+" "+par
 runner= RunProgram(prog,par,"",#PB_Program_Hide|#PB_Program_Open|#PB_Program_Read)
 While ProgramRunning(runner)
   line.s=ReadProgramString(runner)
   If FindString(line,"CREATE",0)
     Debug line
   EndIf
Wend
CloseProgram(runner)

MessageRequester("","schon fertig")
Ohne chr(34) bekomme ich den fehler "/opt/lampp/bin/mysqldump Datei oder Verzeichniss nicht gefunden"

Unter windows leufts jetzt auch ohne Probleme. Danke^^

Re: RunProgram Problem mit mysqldump -gelöst

Verfasst: 31.01.2010 17:37
von bobobo
na endlich :D

hab das thema etwas verschoben

Re: RunProgram Problem mit mysqldump -gelöst

Verfasst: 08.06.2020 23:13
von Rothammel
mit 5.71:

Code: Alles auswählen

mysqldump_id.i = RunProgram("backup\mysqldump.exe", " -h " + *mysqldump\ip_server + " -u " + *mysqldump\benutzername + " -p" + *mysqldump\passwort + " -c --add-drop-table --add-locks --quick --lock-tables " + datenbankname.s, "", #PB_Program_Open | #PB_Program_Read | #PB_Program_Hide)
  If mysqldump_id.i
    If CreateFile(0, *mysqldump\pfad + "Backup Auftragsverwaltung\" + FormatDate("%dd.%mm.%yyyy", Date()) + " sqldump.sql")
      While ProgramRunning(mysqldump_id.i)
        If AvailableProgramOutput(mysqldump_id.i)
          Output.s = ReadProgramString(mysqldump_id.i)
          WriteStringN(0, Output.s)
        EndIf
      Wend
      CloseFile(0)
    EndIf
    
    CloseProgram(mysqldump_id.i) ; Schließt die Verbindung zum Programm
  EndIf