Salvare un recordset

lunedì 29 settembre 2008 - 13.02

aledindo Profilo | Newbie

Ho questo problema
Creo un recordset da una tabella mysql

Come faccio a esportare questo recordset nella tabella access table1 del database c:\db1.mdb in un unico passaggio?


Attualmente scorro tutto il primo recordset e scrivo un record alla volta nella tabella access, però vorrei velocizzare questa procedura facendo in modo che vengano scritti tutti i record contemporaneamente


Spero di essere stato chiaro
Saluti a tutto il forum

Brainkiller Profilo | Guru

>Attualmente scorro tutto il primo recordset e scrivo un record
>alla volta nella tabella access, però vorrei velocizzare questa
>procedura facendo in modo che vengano scritti tutti i record
>contemporaneamente

Penso che non ci siano altri sistemi anche perchè Access non ha una gestione delle transazioni tipiche di un RDBMS comune e non ha neanche strumenti per fare bulk load e quindi caricare rapidamente notevoli quantità di dati.

Quanti dati devi esportare/importare ogni volta ? Perchè devi andare a migrarli su un DB ACccess ?

Ciao

David De Giacomi | Microsoft MVP
http://blogs.dotnethell.it/david/

aledindo Profilo | Newbie

Mi servono su access per creare un'origine dati per crystal report.
I record non sono molti, ma se record per record impiego 20 secondi, con un unico passaggio potrei impiegare un decimo del tempo
Pensavo ci fosse un modo tipo recordset.clone o recordset.save però non sono riuscito a trovare niente, eppure il mio recordset ado è in pratica una tabella "virtuale", ci dovrebbe essere il modo di salvare questo recordset su una tabella access.

Normalmente lavoro con database access e trasferire molti record in un unico passaggio si può fare con una query del tipo
MDB.execute("Insert into TabellaDestinazione in c:\db1.mdb Select * from TabellaOrigine")
In pratica TabellaOrigine e TabellaDestinazione sono su database access diversi!!

Devo fare la stessa cosa pertendo però da database mysql

lbenaglia Profilo | Guru

>Normalmente lavoro con database access e trasferire molti record
>in un unico passaggio si può fare con una query del tipo
>MDB.execute("Insert into TabellaDestinazione in c:\db1.mdb Select
>* from TabellaOrigine")
>In pratica TabellaOrigine e TabellaDestinazione sono su database
>access diversi!!
>
>Devo fare la stessa cosa pertendo però da database mysql

Mmmm... la butto lì, perché non linki la tabella MySQL in Access?
In questo modo il comando di INSERT INTO...SELECT dovrebbe funzionare

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

aledindo Profilo | Newbie

L'idea è molto buona però per fare questo devo creare un origine dati ODBC per creare un collegamento al database mysql
E poi richiamare l'origine dati da access

E' fattibile e funziona. Purtroppo i database mysql da dove prelevare dati sono molti e poi visto che l'applicazione gira su molti pc dovrei creare 20 connessioni ODBC su circa 15 pc aziendali.

Diventerebbe un lavoro piuttosto difficile da gestire, per questo motivo dovrei realizzare il tutto da codice, senza intervenire su ogni pc

Comunque grazie proverò a gironzolare ancora un po su google per vedere se posso trovare qualcosa adatto a me
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5