View Full Version : [VB] Copiare una Tabella di MySQL da Remoto a Locale
con VB.NET,
E' possibile fare una copia di una tabella di MySQL da un PC Portatile connesso al Server principale al PC Portatile stesso ???
Ho un Windows 2000 Server co linea ADSL e IP Statico, dove risiede un Database MySQL,
quindi:
io mi connetto con il mio PC Portatile al PC Server e copio la Tabella che si trova in: "c:\EasyPHP\MySQL\Data\_tabella_" nel mio Portatile.
Come posso fare ???
Conosci già il formato della tabella ?
La devi inserire in server MySQL sul portatile o ne devi semplicemente fare un backup ?
Se devi farci un backup puoi usare mysqldump o fare una cosa simile in VB...
Originariamente inviato da race2
[B]qualcosa in piu' ???
Me lo devi dire te qualcosa in più...cosa ci devi fare ? Ti serve per fare un backup ?
mysqldump lo dovresti trovare nella directory mysql/bin...
voglio un Backup della sola tabella e non del database, dato che il database arriva ad un peso di molti mega, perche' ci sono molte taballe........
Allora basta lanciare mysqldump :
mysqldump --add-drop-table --add-locks -h hostname -u Utente -p nomedatabase nometabella > nomefile.dump
Ovviamente Utente dovrà avere accesso in lettura a quella tabella...
nomefile.dump conterrà query sql che potranno essere rimesse sul server semplicemente tramite il comando all'interno di un qualsiasi client mysql:
source nomefile.dump
Mi spiego meglio:
IO ho un programma ceh lavora un un PC portatile, al click in un bottone devo fare tutto( backup - tabella ).........
Appunto...premi un bottone ed esegui il codice che ti ho dato...
Non importa che il servizio di mysql stia girando sul portatile... Basta che ci sia installato il file sopra ed ovviamente tutte le librerie che gli servono...
Ma come lo metto ???
come comando ???
Private Sub btnBackup_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBackup.Click
'cosa metto qui' un comando tipo questo ???
Dim comm As New OleDbCommand("mysqldump --add-drop-table --add-locks -h hostname -u Utente -p nomedatabase nometabella > nomefile.dump ", conn)
comm.connection.open()
comm.executenonquery()
comm.connection.close()
End Sub
No...è un programma che si trova all'interno della directory mysql/bin...lo devi eseguire direttamente...
Originariamente inviato da cionci
[B]No...è un programma che si trova all'interno della directory mysql/bin...lo devi eseguire direttamente...
OK ho provato ma si apre e si chiude, non vedo cosa fa.....!!!
il nome della tabella che devo fare il backup dove lo metto???
questo significa che avviando l'exe faccio un backup del database nel server MySQL del PC da dove lo ho avviato...
No...fai un backup della tabella che si trova sul database remoto...
Infatti al posto di hostname devi mettere il nome host o l'indirizzo IP del server mysql che contiene la tabella di cui vuoi fare il backup...
Al posto di Utente devi mettere un nome utente valido che abbia il permesso di lettura sul database mysql remoto...
Al posto di nomedatabase devi mettere il nome del database remoto...
Al posto di nometabella il nome della tabella di cui vuoi fare il backup...
Fai in questo modo...almeno puoi anche specificare la password da riga di comando...senza doverla mettere dopo (che torna male eseguendolo da programma)...
mysqldump --add-drop-table --add-locks -hhostname -uUtente -pPassword nomedatabase nometabella > nomefile.dump
Ovviamente Password è la password di Utente...
Comuqnue provalo da riga di comando fino a quando nomefile.dump contiene le query per rimettere il contenuto attuale sulla tabella...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.