Laden...

Exception aus System.Data.RBTree

1 Antworten
1,420 Aufrufe
Letzter Beitrag: vor 18 Jahren
Exception aus System.Data.RBTree

Datenbank-System: Alle Versionen von Microsoft SQL Server 2000 und 2005; Version 8, 9 und 10 von Oracle und alle Server mit ODBC Treiber.

Für unsere neue Anwendung muss die Datenbank-Schicht multy-threadin Fähig sein. Da paralelle Transaktionen und Schreib/Lese-Vorgänge nicht auf allen Datenbanken unterstützt werden, habe ich folgenden Trick angewandt:
Alle Methoden-Aufrufe, die das DataSet bearbeiten, werden (mit Reflection) auf einem System.Collections.Generic.Queue abgelegt und von einem Thread im Hintergrund ausgeführt.

Gut, nun zum Fehler: Nach einigen Datenbankzugriffen (variiert zwischen 2 und n) wird folgende IndexOutOfRangeException ausgelöst (Index variiert natürlich):
An der Position 1018 befindet sich keine Zeile.

bei System.Data.RBTree`1.GetNodeByIndex(Int32 userIndex)
bei System.Data.DataTable.EvaluateExpressions()
bei System.Data.Merger.MergeDataSet(DataSet source)
bei System.Data.DataSet.Merge(DataSet dataSet, Boolean preserveChanges, MissingSchemaAction missingSchemaAction)
bei System.Data.DataSet.Merge(DataSet dataSet, Boolean preserveChanges)
bei CDBaisys.CDB.loadData(IDbDataAdapter da, String TableName, String SourceTable, Boolean ReadOnly) in N:\aisys\aisys\CDB\CDataBase.cs:Zeile 497.
bei CDBaisys.CDB.Sql(String SelectQuery, String TableName, Boolean ReadOnly) in N:\aisys\aisys\CDB\CDataBase.cs:Zeile 583.
bei CDBaisys.CDB.getnxtnr(String myObject) in N:\aisys\aisys\CDB\CDataBase.cs:Zeile 2502.

Das einzige, was ich dazu gefunden habe, war ein Thread im Microsoft-Forum und dort wurde auch nur eine ähnliche Exception besprochen http://forums.microsoft.com/msdn/showpost.aspx?postid=277680&siteid=1&sb=0&d=1&at=7&ft=11&tf=0&pageid=1.

Ich bin leider am Verzeiweifeln, da ich nichts brauchbares zum Thema finde. 🙁