Oppure

Loading
22/08/08 13:48
alejandro
ho creato un programma per gestire i dati e richiesta permessi per dipendenti nella azienda dove lavoro per agevolare il mio.....:-)
creo un backup con mysqldump:
StrComandoMySQLDump = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysqldump.exe"
Shell ("" & StrComandoMySQLDump & " --user=" & NomeUser & " --password=" & PasswordUser & " -h localhost --opt databasegestpermessi -r " & App.path & "\BackupDB\" & NomeDatabaseBAK 

tutto ok,crea un file .sql funzionante.

ma al provare ad importarlo:
StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe"
Shell ("" & StrComandoMySQL & "databasegestpermessi  -u " & NomeUser & " -p" & PasswordUser & " -h localhost < " & App.path & "\BackupDB\" & NomeDatabaseBAK & ".sql")

non fa niente.......

vado a Start->Esegui->cmd
ok,sono nel prompt del DOS.vado su C: con "cd c:\" ed eseguo la ins:
C:\>Programmi\MySQL\MySQL Server 5.0\bin\mysql.exe database -u USER -pMIAPASSWORD -h localhost < c:\percorso backup database\backup.sql

risponde:
"mysql.exe" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.

ma se vado alla diretory \bin ed eseguo il comando,tutto ok:
C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe database -u USER -pMIAPASSWORD -h localhost < c:\percorso backup database\backup.sql


ho anche messo il path su bin (DX Risorse del computer->propietà->avanzate->variabile d'ambiente),ma niente......cosa non va??
:grr:
Ultima modifica effettuata da alejandro 22/08/08 13:49
aaa
23/08/08 11:04
GrG
ma che centra con visual basic 6?
aaa
23/08/08 13:56
alejandro
nel form ce un button x backup con codice
StrComandoMySQLDump = "C:\Programmi\MySQL\MySQL Server 5.0\bin\mysqldump.exe"
Shell ("" & StrComandoMySQLDump & " --user=" & NomeUser & " --password=" & PasswordUser & " -h " & DatabaseTCPIP & " --opt databasegestpermessi -r " & App.path & "\BackupDB\" & "Date_" & dtData & "__Time_" & tmTime & ".sql")

e nel button x restore
StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin\mysql.exe"
Shell ("" & StrComandoMySQL & " --user=" & NomeUser & " --password=" & PasswordUser & " -h " & DatabaseTCPIP & " --opt databasegestpermessi < " & App.path & "\BackupDB\" & "Date_" & dtData & "__Time_" & tmTime & ".sql")

col dump la shell non da problemma,ma al inviare il comando per il recupero non riconosce il mysql.exe.da terminale devo per forza percorre il percorsso fino a bin e poi lanciare il StrComandoMySQL.vorrei sapere se hai una soluzione da codice.:-?
aaa
23/08/08 14:06
GrG
non ho capito bene cosa stai "dicendo" alla shell nel 2° codice...

vedo che ci sono molte variabili...potresti provare a farmi un esempio semplice senza variabili di un path inventato e poi dirmi qual è il problema?
aaa
23/08/08 14:34
alejandro
metto un codice + semplice per capirci
StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe"
Shell ("" & StrComandoMySQL & "databasegestpermessi  -u " & NomeUser & " -p" & PasswordUser & " -h localhost < " & App.path & "\BackupDB\" & NomeDatabaseBAK & ".sql") 

dove
StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe"

è l'instruzione da inviare a mysql

databasegestpermessi è il nome del db da aggiornare nel server mysql
-u è il parametro da pasare a mysql per riconoscere l'user
-p è il parametro per la pw dell'user(va attacata a -p)
-h è il parametro per il ip del server mysql,in questo caso sul mio pc(localhost)
< parametro per mysql indicando l'importazione del database di backup
App.path & "\BackupDB\" & NomeDatabaseBAK & ".sql" sta per il percorsso e nome del file di backup
Ultima modifica effettuata da alejandro 23/08/08 14:35
aaa
23/08/08 14:45
GrG
Ok, allora qual'è il problema?
aaa
23/08/08 15:10
alejandro
se questo comando da codice con shell viene inviato non sucede niente.
dal terminale de Prompt dei comandi eseguo
C:\>Programmi\MySQL\MySQL Server 5.0\bin\mysql.exe databasegestpermessi -u USER -pMIAPASSWORD -h localhost < percorsobackupdatabase\backup.sql

risponde:
"mysql.exe" non è riconosciuto come comando interno o esterno,
un programma eseguibile o un file batch.:(

andando fino alla directory \bin
C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe databasegestpermessi -u USER -pMIAPASSWORD -h localhost < percorsobackupdatabase\backup.sql

l'importazione viene eseguita.credo che sbaglio ad impostare il comando da shell:grr:
aaa
23/08/08 15:47
Overflow
certo che sbagli da shell.

StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe"
Shell ("" & StrComandoMySQL & "databasegestpermessi  -u " & NomeUser & " -p" & PasswordUser & " -h localhost < " & App.path & "\BackupDB\" & NomeDatabaseBAK & ".sql") 




StrComandoMySQL non deve contenere il carattere > che è un carattere usato dal Dos.

StrComandoMySQL="C:\Programmi\MySQL\MySQL Server 5.0\bin\mysql.exe"

Shell StrComandoMySQL & "databasegestpermessi  -u " & NomeUser & " -p" & PasswordUser & " -h localhost < " & App.path & "\BackupDB\" & NomeDatabaseBAK & ".sql"

Ultima modifica effettuata da Overflow 23/08/08 15:49
aaa