Newsgroup: it.comp.lang.visual-basic
Titolo: Dao Ado Querydef & MySql

In DAO mediante una querydef si riesce a fare :
insert into [odbc;DRIVER={MySQL ODBC 3.51
Driver};SERVER=192.168.5.129;PORT=3306;DATABASE=gestris;
USER=user;PASSWORD=abc;OPTION=3;].[Macchine] select * from macchine
Molto utile tanto che lo si puo digitare anche nella finestra SQL del
programma VISDATA per fare il porting dei dati da MDB a MySql.
Con ado (CREDO!) che al posto della querydef si debba usare :
My_Connection.Execute "insert into [odbc;DRIVER={MySQL ODBC 3.51
Driver};SERVER=192.168.5.129;PORT=3306;DATABASE=gestris;
USER=user;PASSWORD=abc;OPTION=3;].[Macchine] select * from macchine"
dove My_Connection è un oggetto connection sul mio DB access...
morale della favola è che non riesco a farlo funzionare !!!! Qualcuno
sa xchè ??
TIA
Ven

 ha scritto nel messaggio
news:1108476095.5...@l41g2000cwc.googlegroups.com...


Si ho quella : la 3.51.11

Cio' che mi fa più imbestialire di questa cosa è che ADO è la grande
evoluzione di DAO !!! Ma ne siamo proprio sicuri ?? Adesso ?? Le
alternative quali sono ?? Riscrivere tutto un programma utilizzando DAO
?? (usarli entrambi lo escludo a priori !!!)
Oppure fare ciò che era possibile con una ( e sottolineo UNA !!)
istruzione SQL con "n" righe di codice ???  Ossia apri DB Access, te lo
scorri in un ciclo e fai tante belle insert nel DB Mysql !
Mha.... sono sconcertato !!!! :-(

 morale della favola è che non riesco a farlo funzionare !!!!
Ottieni degli errori? Numero e descrizione?
Con ADO dovresti seguire una di queste due strade:
1.
apri due connessioni, una per il db access e l'altra per il db mysql;
sul db access apri un recordset da scorrere dall'inizio alla fine,
generando la INSERT da passare al metodo Execute della connection
aperta su mySql;
2.
Alleghi all'mdb Access le tabelle di mySql e fai direttamente la
INSERT dalla tabella nativa a quella allegata.
--
ciao, hal
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

L'errore che ottengo :
-
2147467259
 ODBC: connessione a '{MySQL ODBC 3.51 Driver}192.168.5.129'
non riuscita.
vediamo le soluzioni che mi proponi :
la (1) è quella che anche io avevo pensato ed ipotizzato solo che in
alcuni casi ciò che faccio con una sola  istruzione SQL "teribbbbile
;o) " non è facile da fare neanche con "n" righe di codice.
ad esempio  (questa è very very teribbbbbile !!!!) ;o)
INSERT INTO Macchine SELECT * FROM
[odbc;DRIVER={MySQL ODBC 3.51
Driver};SERVER=192.168.5.129;PORT=3306;DATABASE=gestris;
USER=io;PASSWORD=psw;OPTION=3;].Macchine
WHERE Data >= #02/25/2005# And data <= #02/25/2005# AND CodSoc = 2 AND
Progress NOT IN (SELECT PROGRESS FROM Macchine)
Questa query la eseguo sul db locale access e ti assicuro che con DAO
funziona perfettamente !!! Adesso gestire sopratutto la parte finale :
".... AND Progress NOT IN (SELECT PROGRESS FROM Macchine)" con il
codice diventa un po' ardua... si fa ok... ma l'e' dura !!!
La (2) non mi garba tanto ma adesso la provo e poi ti faccio sapere.
Grazie
Ciao
Ven.

Ho provato a collegare le tabelle MySql al db access (2003)... mi da un
bellissimo errore :
[MySQL][ODBC 3.51 Driver]Could not find driver {MySQL ODBC 3.51 Driver}
in system information. (#0)
ma che roba è ??
:-(
Non so xchè ma me lo sentivo che non avrebbe funzionato...
buon WE  a tutti  !!!