541 messaggi dal 09 febbraio 2004
salve devo fare un procedura di caricamento di vari file txt
a blocchi 1 migliaio

utilizzo questo codice:

INIZIO LOOP 1 TO 1000
                    using (var db = new Entities_Connection_Setting())
                    {
                        LettureFile rec = new LettureFile();
                        rec.id = Guid.NewGuid();
                        rec.NomeFile = files;
                        rec.ValoreTemperatura = Convert.ToInt32(valTemp);
                        rec.MinutoElaborazione = Convert.ToInt32(valMinuto);
                        rec.DataOra = Convert.ToString(ore + ":" + minuto);
                        db.LettureFile.AddObject(rec);
                        db.SaveChanges();
                    }

FINE LOOP 


che viene richiamato da un evento timer ogni tipo 10sec
e sta dentro un loop
la connessione è ad un database sqlserver ce ho notato che dopo vari loop si pianta tutto vorrei capire se sbaglio qualcosa nella procedura .. o come dovrei fare questa operazione ...

grazie

EDIT:
Mi viene dato questo messaggio

Major Error 0x80004005, Minor Error 0
Eccezione lanciata da un componente esterno.
Modificato da yag il 29 novembre 2013 16.53 -
Modificato da yag il 29 novembre 2013 17.12 -
89 messaggi dal 13 marzo 2010
Ciao,

non mi convince molto questa riga di codice:

rec.DataOra = Convert.ToString(ore + ":" + minuto);

Credo che possa essere questa riga che genera l'errore che hai indicato.

Un consiglio poi: per evitare di dover aprire e chiudere una connessione ad ogni iterazione del loop, ti consiglio di eseguire il Savechanges() appena terminato il loop, in modo da eseguire tutte le insert in un colpo solo.

Ciao
Federico
541 messaggi dal 09 febbraio 2004
federico.orlandini ha scritto:
Ciao,

non mi convince molto questa riga di codice:

rec.DataOra = Convert.ToString(ore + ":" + minuto);

Credo che possa essere questa riga che genera l'errore che hai indicato.

Un consiglio poi: per evitare di dover aprire e chiudere una connessione ad ogni iterazione del loop, ti consiglio di eseguire il Savechanges() appena terminato il loop, in modo da eseguire tutte le insert in un colpo solo.

Ciao
Federico

Ho fatto le modifiche da te e sistemato anche il problema data...
in effetti nessun problema e molto piu rapido...

P.S
Come posso fare per sapere quali sono le insert che non sono stato inserite ? è possibile ? supponiamo che in un loop di 100 ne inserisco le 70 ma poi le altre ce modo di saperlo ?

grazie...
Modificato da yag il 02 dicembre 2013 09.05 -

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.