![]() |
Sicherung mit Myqsldump
GUten Morgen, ich habe mal wieder ein Problem:
Ich habe eine Anwendung wo eine Mysql datenbank im hintergrund läuft. ich möchte nun aus dem program heraus mit hilfe des Tool smysqldump eine Sicherung der Datenbank machen.
Delphi-Quellcode:
Das Programm wird auch gestartet. Es verlangt auch nach dem password. soweit uist alles richtig aber er leitet die ausgabe nicht in die datei um sondern auf den bildschirm.
ShellExecute(handle,'open','..\Mysql\mysqldump','--databases pze -u root -p > siko_333.sql','',SW_SHOW);
wo könnte der fehler sein. Vielen dank |
Re: Sicherung mit Myqsldump
Hallo Sebastian,
die Behandlung von pipes und redirection ist eine Funktionalität der Shell. Darum musst du beim Aufruf entweder die Shell aufrufen oder alles in einen Befehlsstapel verpacken. Freundliche Grüße |
Re: Sicherung mit Myqsldump
Zitat:
|
Re: Sicherung mit Myqsldump
Dein Befehl und seine Parameter und Schalter bilden dann einen einzigen string - die commandline:
Delphi-Quellcode:
Getippt und nicht getestet.
var
cmd, shell: string; begin shell := GetEnvironmentVariable('COMSPEC'); cmd := '/C ..\Mysql\mysqldump.exe --databases pze -u root -p > siko_333.sql'; ShellExecute(0, '', PAnsiChar(shell), PAnsiChar(cmd), '', SW_SHOW); end; Ein Befehlsstapel ist einfach eine CMD-Datei. Freundliche Grüße |
Re: Sicherung mit Myqsldump
Zitat:
|
Re: Sicherung mit Myqsldump
So besorgst du dir den vollen Namen der Shell - oder wie willst du das machen?
|
Re: Sicherung mit Myqsldump
Zitat:
Delphi-Quellcode:
shell:='cmd';
|
Re: Sicherung mit Myqsldump
Wie du magst.
Die relativen Pfade in deiner Kommandozeile solltest du aber noch auf absolute Pfade umstellen und den Namen der Ausgabedatei parametrisieren. Freundliche Grüße |
Re: Sicherung mit Myqsldump
Okay ich schicke dir jetzt mal meinen Quellcode.
Delphi-Quellcode:
Also das auslesen der cmd variablen geht . er öffnet auch das kommand fenster - aber nichts weiter .
var
cmd:String; shell: array [Byte] of Char; size: Dword; begin GetEnvironmentVariable('COMSPEC',shell,size); cmd := '..\Mysql\mysqldump.exe --databases pze -u root -p > siko_333.sql'; ShellExecute(0, 'open', shell, PAnsiChar(cmd), '', SW_SHOW); was kann ich noch tun |
Re: Sicherung mit Myqsldump
Nun, er wird die mysqldump.exe nicht finden. Aber das hat marabu doch schon gesagt:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz