MYSQL Migration Toolkit (?)

Spiego rapidamente:

il mio provider internet mi ha da tempo aperto un database MySQL sul suo server con accesso diretto via ODBC.

Questo perché ho alcuni programmi in VB6 che giornalmente scaricano sul db MySQL alcuni dati per renderli disponibili anche ai clienti.

Tramite ODBC, quindi, ho accesso diretto e completo (SELECT, INSERT, UPDATE e DELETE - non ho mai provato DROP e CREATE TABLE, ma credo che siano disponibili anche questi).

Ora sto facendo delle prove con il mio nuovo MySQL5 in LAN (sia da VB6 che da PHP) e volevo provare a trasferire una tabella un po' voluminosa (55395 records - circa 9 MB inclusi gli indici) usando MYSQL Migration Toolkit dal mio MYSQL5 LAN al MYSQL internet...

Imposto passo passo il trasferimento senza problemi fino al passaggio "Bulk Data Transfer" che mi risponde "Execution completed succesfully"

Peccato che poi il LOG finale mi dice che ha trasferito 0 righe perché l'utente@ipaddress non è autorizzato ad eseguire le INSERT

:idiot:

Allora (per sfizio) eseguo una INSERT dal MYSQL Query Browser (He He...  ;D li ho caricati tutti, i software utility di MYSQL...) usando lo stesso utente e le stesse impostazioni di connessione... e ovviamente va... così come anche la DELETE e gli altri comandi...

Qual'e' la differenza?

Perché solo il Migration Toolkit ha questo problema?

Difetto di JDBC solo sul MToolkit? (anche se mi pare strano)

Vi è mai capitato qualcosa del genere?

 :dunno:

Mi farebbe comodo poter trasferire dati dal db LAn a quello remoto con questo sistema (che tra l'altro so ch epuò creare degli script da eseguire, anche se non ho provato...)

Spero di "essere stato spiegato"...

 :bye:

inviato 10 anni fa
myne.it
X 0 X

Cosa intendi per "MySQL ... con accesso diretto via ODBC"? Hai detto che ti sei collegato al server con MYSQL Query Browser quindi hai un accesso diretto "nativo", o sbaglio?!?

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Cosa intendi per "MySQL ... con accesso diretto via ODBC"? Hai detto che ti sei collegato al server con MYSQL Query Browser quindi hai un accesso diretto "nativo", o sbaglio?!?

Non sbagli... con "accesso diretto" intendo che non sono obbligato ad usare "localhost" (che uso per esempio nelle mie pagine PHP), ma che posso collegarmi con utente@host

Infatti la mia applicazione VB6 legge e scrive dal mio PC nella mia LAN direttamente sul server su internet...

scs...

ed infatti è questo che mi spiazza... MYSQL Query Browser va e MYSQL Migration Toolkit no (?)

risposto 10 anni fa
myne.it
X 0 X

allora lascia perdere MYSQL Migration Toolkit, comodo quando i DB sono di natura diversa, e provedi con un regolare backup - restore con mysqldump.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

allora lascia perdere MYSQL Migration Toolkit, comodo quando i DB sono di natura diversa, e provedi con un regolare backup - restore con mysqldump.

 :bye:

@zz... non ci avevo pensato...

Lunedì provo...

 :bye:

risposto 10 anni fa
myne.it
X 0 X

Ecciavevi ragione, eccia!!!  O0

53000espiccioli record esportati... Bella li...

Approfitto e faccio un nuovo quesito (non so se qualcuno ha dimestichezza con VB6)...

Ho una serie di applicazioni VB6 che in origine lavoravano con MS Access e che ora, per una questione di "uniformità" con altre applicazioni (intranet in particolare), devo "convertire" per lavorare con MySQL5...

L'unico inciampo che ho trovato fin'ora è che sembra che MySQL non riesca a gestire le transazioni...

Mi spiego meglio

Private Sub xxx()   
   On Error goto Errore
   cn.BeginTrans
   cn.Execute Sql1
   cn.Execute Sql2
   cn.CommitTrans
exit Sub
errore:
   cn.RollbackTrans
End Sub

Normalmente, se una delle due query da errore, entrambe vengono invalidate e quindi annullate o non eseguite...

Con MySQL5, invece, se per esempio la prima execute va a buon fine ma la seconda fallisce, la rollback non rimette a posto i dati (per esempio togliendo i dati di una INSERT) ma lascia tutto così com'e', portando ovviamente ad errori, duplicazione dati, etc...

Vi risulta?

Se è così (e non sto facendo errori), c'e' un metodo per far eseguire le transazioni a MySQL?

Spero di essere stato chiaro...

Ciao e grazie

 :bye:

risposto 10 anni fa
myne.it
modificato 10 anni fa
X 0 X

Siamo proprio in OT...

comunque potresti effettuare le transazioni inviando direttamente le query che sercono ad attivarle, a fare il commit o il rollback:

http://www.phpnews.it/forum/index.php?topic=1054.0

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Siamo proprio in OT...

scusa...  :-[

risposto 10 anni fa
myne.it
X 0 X

Gianni, lo so che sono OT, ma mi sembra giusto dare la risposta, dato che ho trovato la soluzione... (non bannarmi...  :D )

Le tabelle InnoDB gestiscono le transazioni (anche con VB6 e ADO) alla grande!

Tutto qui...

Scusami ancora...

 :bye:

risposto 10 anni fa
myne.it
X 0 X

quindi il problema è che stavi usando le MyISAM?  ;D

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

quindi il problema è che stavi usando le MyISAM?  ;D

 :bye:

:giveup: Si... ma non era colpa mia... era colpa di qualcun'altro...

 :bye:

risposto 10 anni fa
myne.it
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda