AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit CreateProcess

Ein Thema von Patrick · begonnen am 25. Aug 2005 · letzter Beitrag vom 25. Jan 2008
Antwort Antwort
Seite 2 von 3     12 3      
Patrick

Registriert seit: 15. Sep 2003
184 Beiträge
 
Delphi 2010 Professional
 
#11

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 15:26
Na das hier:
Zitat:
-- MySQL dump 10.9
--
-- Host: localhost Database: test
-- ------------------------------------------------------
-- Server version 4.1.13a-nt

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
mysqldump: Couldn't find table: ">"
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#12

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 16:09
Zitat von Patrick:
Na das hier:[...]
...aber dann ist doch der Aufruf schon falsch, nicht der Code von turboPASCAL!
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#13

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 16:28
Hast Du mal geschaut ob dein Aufruf auf einer Console (Eingabeaufforderung) mit der Pipe Umleitung ">" funktioniert ?

@Olli das der Code von turboPASCAL falsch kann ich nicht sagen, habe da gerade eine kleine Merkwürdigkeit festgestellt.

// Edit:
Zitat von turboPASCAL:
@Olli das der Code von turboPASCAL falsch kann ich nicht sagen, habe da gerade eine kleine Merkwürdigkeit festgestellt.
Wenn man ein Readln; in sein Code einbaut und sich Wundert warum sich die Anwendung nicht selbst Beendet...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Patrick

Registriert seit: 15. Sep 2003
184 Beiträge
 
Delphi 2010 Professional
 
#14

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 18:41
Ich habe nie behauptet, dass ein Code von euch nicht funktioniert. Ich verstehe eure Funktionen und Prozeduren vielleicht nicht komplett, ich kann aber sehr wohl erkennen, dass ihr mit dem Befehl ansich nichts macht. Ich sage doch die ganze Zeit, dass es an CreateProcess liegen muss. Dahin übergebt ihr schließlich die "CommandLine"!

Und ja, mit der Befehl funktioniert in der Eingabeaufforderun (CMD) perfekt
Zitat:
"C:\Programme\MySQL\MySQL Server 4.1\bin\mysqldump.exe" -hlocalhost -uuser -ppasswort --opt "web1db1" > "D:\download\2005-08-26 14-59\web1db1.sql"
Ich habe eben diesen Befehl in eine Standard Verknüpfung integriert, und auch hier funktioniert es nicht, allerdings gelingt es mir hierbei nicht an die Fehlermeldung zu kommen.

Eigentlich weis ich, wie ich den Fehler umgehen kann, allerdings möchte ich das nicht. Die Lösung liegt ganz einfach darin die Gänsefüsschen an "web1db1" und "D:\download\2005-08-26 14-59\web1db1.sql" wegzulassen. Allerdings kann ich das nicht, da in dem Pfad eine Leerzeile ist, die da auch bleiben soll. Und schließlich funktioniert der Befehl mit Gänsefüsschen in der CMD!
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#15

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 19:04
Hm... warum machst du nicht eine Batchfile mit folgendem Aufruf:
Code:
@echo off
"C:\Programm[b][...][/b]\mysqldump.exe" -hlocalhost -uuser -ppasswort --opt web1db1" > "D:\download[b][...][/b]\web1db1.sql"
pause
Ich hab k.A. von MySQL was soll den das ausgeben bzw. Umleiten ?

Wenn Du das ">" weglässt bekommst du doch deine Ausgabe in das Memo oder so. Oder gibt es dan eine extra "Fertig" Meldung ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Olli
(Gast)

n/a Beiträge
 
#16

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 19:46
@Patrick: Wenn du es wie in deinem Beitrag von 15:10 machst, kann es nicht funktionieren, weil das Pipen (mit >) nur von CMD.EXE unterstützt wird. Ansonsten müßte mysqldump expliziten Support dafür mitbringen. Es wird also nur gehen über STDOUT, STDERR usw. die Daten auszulesen (siehe turboPASCALs Code).

@turboPASCAL: Verstehe ich auch nicht, dein Code sieht absolut plausibel aus ... wieso da jetzt nicht die Konsolenausgabe enthalten sein soll?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#17

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 20:12
Hm....

@Olli Also bei meinen Tests mit der Pipe-Umleitung (mit CMD.EXE) bekam ich noch keine Probleme es muss also event. an der mysqldump.exe liegen.

Leider hab ich kein SQL und kann es nicht austesten woran es liegt.

Aus Testzwecken würde ich auch mal kurze Dateinamen (8.3) benutzen und die Ausfhürungszeichnen nicht verwenden.

Oder alles in die Batchfile setzen und diese dann ausführen, wenn wie gesagt es auf der CMD funktionieren soll. Dann kann man ja immer noch die Ausgabe umleiten die von der Batch kommen.

Was ich mich Frage ist warum die Fehlermeldung (mysqldump: Couldn't find table: ">") kommt. Das weist darauf hin das er als Parameter eine Tabelle erwartet aber " > " findet.

Kann man noch in den Code einbauen... http://people.freenet.de/mgsdh/image..._Smiley_02.gif
Delphi-Quellcode:
[...] while (I < Bread) do
        begin

          case Buffer^[I] of
            #0: inc(I);
            #7: begin {PC-Beep ^G}
                  inc(I);
                  Windows.Beep(800, 150);
                  Str := Str + '^';
                end;
            #10: [...]
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#18

Re: Problem mit CreateProcess

  Alt 26. Aug 2005, 20:51
Nur mal so ne Vermutung:
Das hängt irgendwie an den '"'. Versuch mal
Code:
'"cmd \c [...]" > "..."'
Also alles vor und nach dem '>' in '"' setzten.

Und wenns mit der Pipe trotzdem noch Probleme gibt: mysqldump hat IMHO ne "eingebaute Pipe". D.H. über irgend n Parameter(bitte selbst nachschlagen) kann man die Ausgabe in ne Datei umleiten. Man braucht also kein cmd dazu...

mfg

Christian

P.S.:
Es wäre vielleicht besser cmd per EnvironmentVariablen zu bestimmen. cmd gibts nämlich nur in der NT-Schiene. Ansonsten musst du Command.com nehmen...
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Patrick

Registriert seit: 15. Sep 2003
184 Beiträge
 
Delphi 2010 Professional
 
#19

Re: Problem mit CreateProcess

  Alt 27. Aug 2005, 10:31
Ja, natürlich hängt es an den "", aber ich kann diese nicht weglassen, da in den Pfaden Leerstellen drin sind.

Also mit
'"cmd \c [...]" > "..."' geht es nicht: "System Kann die angegebene Datei nicht finden"

und mit
'cmd \c "[...]" > "..."' gibt's wiedermal die selbe Fehlermeldung: Der Befehl "C:\Programme\MySQL\MySQL" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Genieße jede Minute deines Lebens, denn sie wird nicht wieder kommen.
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#20

Re: Problem mit CreateProcess

  Alt 27. Aug 2005, 11:21
Hallo Patrick,

also wenn es dir nur darum geht, ein Dump zu erstellen, kannst due gerne meine Komonente im Anhang benutzen. Da benutzte ich die gleiche Methode wie du, eben über mysqldump.exe. Hat auch ganz gut geklappt. Allerdings werte ich auch keine Rückmeldung von mysqldump.exe, das mit Dateinamen und Leerzeichen klappt aber. Am besten du schaust dir mal die Methode RunProcess in der Komponente an. Ist nicht von, allerdings ist mir die Quelle unbekannt.

Aber mein Tipp: nutze die MyDAC Komponenten, da hast du eine Komponente dabei, um direkt aus Delphi heraus ein Dump zu machen. Da brauchst du keine mysqldump.exe und kriegst auch keine lizenzrechtliche Probleme, da diese Datei nicht einfach mit deiner Anwendung weitergegeben werden darf (genausowenig wie die libmysql.dll übrigens).

edit: Hatt ich doch glatt den Anhang vergessen
Angehängte Dateien
Dateityp: zip mysqldump_648.zip (11,0 KB, 20x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz