Al momento sei offline in attesa che la connessione Internet venga ristabilita

FIX: System.ArgumentOutOfRangeException generato in modo intermittente con ADO.NET

Il presente articolo è stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell’utente. Tuttavia, un articolo tradotto in modo automatico non è sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, più o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non è la sua. Microsoft non è responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell’utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.

Clicca qui per visualizzare la versione originale in inglese dell’articolo: 836874
Dichiarazione di non responsabilità per articoli della Microsoft Knowledge Base su prodotti non più supportati
Questo articolo è stato scritto sui prodotti per cui Microsoft non offre più supporto. L’articolo, quindi, viene offerto ‘così come è’ e non verrà più aggiornato.
Sintomi
In un'applicazione ADO.NET, si potrebbe in modo intermittente il seguente messaggio eccezione di errore:
System.ArgumentOutOfRangeException: Indice non compreso nell'intervallo. Deve essere non negativo e minore della dimensione dell'insieme. Nome del parametro: indice
Cause
Viene visualizzato questo messaggio di errore se si crea o eliminare oggetti relativi al DataSet (ad esempio un oggetto di DataView ) in un gestore eventi per un oggetto DataSet o in un oggetto associato a un oggetto DataSet . Ad esempio, questo errore è stato riprodotto in un'applicazione contenente un controllo griglia che è stato creando oggetti DataView figlio in un gestore di eventi ListChanged per la griglia. In questo modo lo stato interno dell'oggetto DataSet sottostante per modificare durante un'operazione in cui deve rimanere statico.
Risoluzione
Un hotfix supportato è disponibile da Microsoft, tuttavia è destinato esclusivamente per risolvere il problema descritto in questo articolo. Utilizzarla solo nei sistemi in cui si verifica questo problema specifico. Questo aggiornamento rapido (hotfix) potrebbe essere eseguiti ulteriori test. Se non si è notevolmente interessati da questo problema, si consiglia di attendere il prossimo service pack contenente questo aggiornamento rapido (hotfix) per.

Per risolvere immediatamente questo problema, contattare il servizio supporto tecnico clienti Microsoft per ottenere l'hotfix. Per un elenco completo di numeri di telefono del servizio supporto tecnico clienti Microsoft e per informazioni sui costi dell'assistenza, visitare il seguente sito Web Microsoft: Nota in casi particolari, le spese normalmente addebitate per le chiamate al Servizio Supporto Tecnico Clienti Microsoft potrebbero essere annullate qualora un addetto del Supporto Tecnico Microsoft dovesse determinare che uno specifico aggiornamento risolverà il problema. I normali costi del Servizio Supporto Tecnico Clienti verranno applicati per eventuali ulteriori domande e problemi che non dovessero rientrare nello specifico aggiornamento in questione.La versione inglese di questo aggiornamento rapido (hotfix) presenta gli attributi di file (o successivi) elencati nella tabella riportata di seguito. Date e ore per questi file sono indicati nella coordinated universal time (UTC). Quando si visualizzano le informazioni sul file, viene convertito in ora locale. Per calcolare la differenza tra ora UTC e l'ora locale, utilizzare la scheda fuso orario dello strumento Data e ora del Pannello di controllo.
   Date         Time   Version            Size    File name   --------------------------------------------------------------   02-Mar-2004  18:39  1.1.4322.1007   1,294,336  System.data.dll                                             
Workaround
Non creare o eliminare oggetti di DataSet correlati (ad esempio un oggetto DataView ) all'interno di un gestore eventi per un oggetto DataSet .
Status
Microsoft ha confermato che questo problema riguarda i prodotti sono elencati nella sezione "Si applica a" di questo articolo.
Lo stack di chiamate per questa eccezione varia a seconda della funzionalità dell'applicazione e la causa esatta dell'errore. Di seguito è riportati due esempi che si sono verificati quando vengono creati oggetti DataView figlio nel gestore dell'evento ListChanged per un controllo:

Esempio di stack di chiamate 1

System.Collections.ArrayList.get_Item(Int32 index)Sstem.Data.DataTable.RecordStateChanged(Int32 record1, DataViewRowState oldState1, DataViewRowState newState1, Int32 record2, DataViewRowState oldState2, DataViewRowState newState2)System.Data.DataTable.SetNewRecord(DataRow row, Int32 proposedRecord, DataRowAction action, Boolean isInMerge)System.Data.DataRow.EndEdit()System.Data.DataRow.set_Item(DataColumn column, Object value)System.Data.DataRow.set_Item(String columnName, Object value)

Esempio di stack di chiamate 2

System.Collections.ArrayList.get_Item(Int32 index)System.Data.DataTable.ResetIndexes()System.Data.Merger.MergeTable(DataTable src, DataTable dst)System.Data.Merger.MergeTableData(DataTable src)System.Data.Merger.MergeDataSet(DataSet source)System.Data.DataSet.Merge(DataSet dataSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction)

Nota Questi sono solo esempi e non gli unico stack di chiamate che possono verificarsi con questo errore.
Riferimenti
Per ulteriori informazioni, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
824684Descrizione della terminologia standard utilizzata per descrivere gli aggiornamenti software Microsoft
Per ulteriori informazioni su un'eccezione simile che si verifica con una versione precedente di ADO.NET, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito riportato:
332215FIX: "System.ArgumentOutOfRangeException: indice non compreso nell'intervallo" errore si verifica con SqlClient.SqlConnection.Open()
Nota La correzione per l'articolo della Microsoft Knowledge Base 332215 è già inclusa in .NET Framework versione 1.1.
IndexOutOfRangeException sqlclient

Avviso: questo articolo è stato tradotto automaticamente

Proprietà

ID articolo: 836874 - Ultima revisione: 06/01/2006 09:24:01 - Revisione: 2.1

Microsoft ADO.NET 1.1

  • kbmt kbhotfixserver kbqfe KB836874 KbMtit
Feedback
y>