96 messaggi dal 24 gennaio 2002
Ho sviluppato un'applicazione locale che prende un disconnected recordset, lo apre e lo inserisce in una tabella Access, dopo averla svuotata.

Riassumo più o meno quello che faccio:
- apro il disconnected recordset
- apro un disconnected recordset con tutti i campi della tabella destinazione
- faccio un loop che scorre tutti i record
- per ogni record assegno i valori dei campi che mi interessano ad un'array
- passo l'array come argomento ad una funzione che inserisce i valori nel recordset destinazione
- faccio updatebatch per inserire le modifiche nel database destinazione

Tutto funziona, ma per inserire 1500 records, ci mette circa 1 minuto!!!
Bisogna dire che ogni record contiene 60 campi (il file xml contenente il disconnected recordset è grande circa 1200kb)

Domanda principale: cosa posso fare per migliorare la performance?

Inoltre:

Nella funzione che aggiunge un record ho dovuto usare il nome esatto del recordset che ho aperto nello script principale, è possibile passarlo come argomento, in modo da rendere la funzione più indipendente?

Posso accedere ai valori del recordset disconnesso (aperto nello script principale) dalla funzione, magari passandolo come parametro in modo da non essere vincolato ad usare il nome preciso?

Grazie...
28 messaggi dal 20 marzo 2001
hai provato usando l'istruzione SQL :
INSERT INTO NOMETABELLA DESTINAZIONE (NOMECAMPO1 ,MOME CAMPO2,......) SELECT NOME CAMPI FROM TABELLA SORGENTE
96 messaggi dal 24 gennaio 2002
E' dura perchè i campi da aggiornare sono 60!

Potrei provare ma non ho capito come si scrivono i numeri con i decimali, la virgola è sia il separatore dei decimali che il separatore tra i vari valori da assegnare ai campi!
11.886 messaggi dal 09 febbraio 2002
Contributi
Hai provato col punto?

13.4

Enjoy learning and just keep making
839 messaggi dal 13 febbraio 2001
Guarda le informazioni sui formati SQL nella guida di Transact SQL... Se frughi un po' forse la troverai già sul tuo pc, dato che accompagna la documentazione di molti prodotti MS, Access, MSSQL, MSDE, MDAC).
96 messaggi dal 24 gennaio 2002
Se metto il punto lo ignora (è il separatore delle migliaia).

La guida di Transact SQL non sono riuscito a trovarla, devo provare sul cd di office.

A prate questo, c'è qualcosa nella procedura che uso che potrebbe essere evitato o ottimizzato?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.