Oppure

Loading
05/03/08 0:32
Manuel2
Salve a tutti,
ho un problema. Spero vivamente che qualcuno di voi mi possa aiutare.
Devo far eseguire dal mio programma VB6 il backup di un db mysql utilizzando la seguente istruzione:
shell "C:\Programmi\MySQL\MySQL Server 5.2\bin\mysqldump.exe --user=user --password=pass db > C:\" & Me.Text1 & " "

Nella Textbox "Text1" viene scritto il nome da assegnare al file.
Il problema è che quando eseguo l'istruzione, si vede apparire per un instante la finestra di DOS per poi sparire immediatamente, ma del file di output non v'è traccia.
Ho provato a far avviare un mio programma sempre fatto in vb6 che ho copiato nella stessa cartella "\bin" e questo si avvia senza problemi.
Sbaglio io qualcosa??
L'istruzione DOS, se eseguita dal prompt di MS-DOS, funziona perfettamente, col vb6 non ne vuole sapere.
Ho provato anche con ShellExecute ... nulla.
Aiutatemi vi prego.
Ultima modifica effettuata da Manuel2 05/03/08 0:36
aaa
05/03/08 9:22
gantonio
Per capire dov'e' il problema prova ad aprire una console (con Start -> Esegui -> Cmd) ed esegui esattamente la stringa che stai passando alla Shell ...

Controlla che venga eseguita o se restituisce errori ...

Oppure, potresti creare un file batch contenente due righe: nella prima inserisci il comando che stai eseguendo e nella seconda il comando PAUSE ...

A questo punto esegui il batch nel tuo programma con la Shell e leggi cosa succede ...
aaa
05/03/08 9:47
Manuel2
L'ho fatta già questa prova da prompt di MS-DOS.
Eseguendo il comando:
C:\Programmi\MySQL\MySQL Server 5.2\bin\mysqldump.exe --user=user --password=pass db > db

mi dice che il comando "C:\Programmi\MySQL\MySQL" non è riconosciuto. Quindi secondo lui è un problema di Path. Il problema è che volendo scrivere in notazione DOS (quindi 8+3 caratteri per i file, 8 per le directory), il path verrebbe "MySQL ~1", ma c'è uno spazio prima della tilde e non so il DOS come lo interpreta.
aaa
05/03/08 10:13
Manuel2
Per il file batch, potrei anche farlo. Il problema è che come nome del file di backup, da vb6, mi faccio restituire data e ora per poterlo assegnare al nome del file.
Non sono completamente pratico di file batch e quindi non so se è possibile farlo fare direttamente a lui
aaa
05/03/08 10:13
Manuel2
Per il file batch, potrei anche farlo. Il problema è che come nome del file di backup, da vb6, mi faccio restituire data e ora per poterlo assegnare al nome del file.
Non sono completamente pratico di file batch e quindi non so se è possibile farlo fare direttamente a lui
aaa
05/03/08 10:28
Manuel2
Ho trovato un programmino in vb6 che mi restituisce il percorso DOS di uno WIN. Posto il link, può essere utile a qualcuno.
vbsimple.net/…
Ho creato il file BAT, lo faccio eseguire da VB6 ed il backup del DB me lo esegue. Però non capisco come mai, se il BAT lo crea, il VB6, passando direttamente l'istruzione, non crea la copia di backup.
aaa
05/03/08 10:37
gantonio
Prova a scrivere

Shell """C:\Programmi\MySQL\MySQL Server 5.2\bin\mysqldump.exe"" --user=user --password=pass db > C:\" & Text1.Text
aaa
05/03/08 10:39
Manuel2
Sai come si dice dalle mie parti quando qualcosa non funziona? SUFFURU (traduzione=Zolfo)
Non va.
aaa