Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - importare un database con mysql e vb6
Forum - Visual Basic 6 - importare un database con mysql e vb6

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 15:48
Venerdì, 22/08/2008
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:
Codice sorgente - presumibilmente Plain Text

  1. StrComandoMySQLDump = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysqldump.exe"
  2. 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:
Codice sorgente - presumibilmente Plain Text

  1. StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe"
  2. 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:
Codice sorgente - presumibilmente Plain Text

  1. 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:
Codice sorgente - presumibilmente Plain Text

  1. 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 il 22/08/2008 alle 15:49
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 13:04
Sabato, 23/08/2008
ma che centra con visual basic 6?

PM Quote
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 15:56
Sabato, 23/08/2008
nel form ce un button x backup con codice
Codice sorgente - presumibilmente Plain Text

  1. StrComandoMySQLDump = "C:\Programmi\MySQL\MySQL Server 5.0\bin\mysqldump.exe"
  2. Shell ("" & StrComandoMySQLDump & " --user=" & NomeUser & " --password=" & PasswordUser & " -h " & DatabaseTCPIP & " --opt databasegestpermessi -r " & App.path & "\BackupDB\" & "Date_" & dtData & "__Time_" & tmTime & ".sql")


e nel button x restore
Codice sorgente - presumibilmente Plain Text

  1. StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin\mysql.exe"
  2. 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.:-?

PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:06
Sabato, 23/08/2008
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?

PM Quote
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 16:34
Sabato, 23/08/2008
metto un codice + semplice per capirci
Codice sorgente - presumibilmente Plain Text

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


dove
Codice sorgente - presumibilmente Plain Text

  1. 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 il 23/08/2008 alle 16:35
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 16:45
Sabato, 23/08/2008
Ok, allora qual'è il problema?

PM Quote
Avatar
alejandro (Normal User)
Rookie


Messaggi: 30
Iscritto: 29/10/2006

Segnala al moderatore
Postato alle 17:10
Sabato, 23/08/2008
se questo comando da codice con shell viene inviato non sucede niente.
dal terminale de Prompt dei comandi eseguo
Codice sorgente - presumibilmente Plain Text

  1. 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
Codice sorgente - presumibilmente Plain Text

  1. 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:

PM Quote
Avatar
Overflow (Normal User)
Expert


Messaggi: 334
Iscritto: 11/01/2008

Segnala al moderatore
Postato alle 17:47
Sabato, 23/08/2008
certo che sbagli da shell.
Testo quotato


Codice sorgente - presumibilmente Plain Text

  1. StrComandoMySQL = "C:\Programmi\MySQL\MySQL Server 5.0\bin>mysql.exe"
  2. 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"

Codice sorgente - presumibilmente Plain Text

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


Ultima modifica effettuata da Overflow il 23/08/2008 alle 17:49
PM Quote
Avatar
GrG (Member)
Guru^2


Messaggi: 3430
Iscritto: 21/08/2007

Segnala al moderatore
Postato alle 19:22
Sabato, 23/08/2008
sai perchè non ti funziona dal prompt dei comandi di DOS?

perchè sbagli il percorso. Infatti in DOS nel percorso gli spazi non ci devono essere, invece c'è una cartella nel percorso che nel nome ha degli spazi, allora per far capire che quegli spazi fanno parte del percorso devi mettere il percorso tra virgolette.
quindi prova con:
C:\>"C:\Programmi\MySQL\MySQL Server 5.0\bin\mysql.exe" databasegestpermessi -u USER -pMIAPASSWORD -h localhost < percorsobackupdatabase\backup.sql

p.s. prima risolvi il problema in DOS poi in vb

Ultima modifica effettuata da GrG il 23/08/2008 alle 19:24
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo