Manuel2 (Member)
Pro
Messaggi: 65
Iscritto: 07/10/2007
|
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:
Codice sorgente - presumibilmente Plain Text |
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 il 05/03/2008 alle 1:36 |
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
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 ...
|
|
Manuel2 (Member)
Pro
Messaggi: 65
Iscritto: 07/10/2007
|
L'ho fatta già questa prova da prompt di MS-DOS.
Eseguendo il comando:
Codice sorgente - presumibilmente Plain Text |
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.
|
|
Manuel2 (Member)
Pro
Messaggi: 65
Iscritto: 07/10/2007
|
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
|
|
Manuel2 (Member)
Pro
Messaggi: 65
Iscritto: 07/10/2007
|
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
|
|
Manuel2 (Member)
Pro
Messaggi: 65
Iscritto: 07/10/2007
|
Ho trovato un programmino in vb6 che mi restituisce il percorso DOS di uno WIN. Posto il link, può essere utile a qualcuno.
http://www.vbsimple.net/index.htm?/howto/ht_013.htm
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.
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Prova a scrivere
Shell """C:\Programmi\MySQL\MySQL Server 5.2\bin\mysqldump.exe"" --user=user --password=pass db > C:\" & Text1.Text
|
|
Manuel2 (Member)
Pro
Messaggi: 65
Iscritto: 07/10/2007
|
Sai come si dice dalle mie parti quando qualcosa non funziona? SUFFURU (traduzione=Zolfo)
Non va.
|
|
gantonio (Normal User)
Guru^2
Messaggi: 1532
Iscritto: 09/09/2007
|
Non va ... in che senso ?
|
|