Beim Lesen aus einer Microsoft-Access-Datenbank via OleDb (ADO.NET) trat folgender Fehler auf:
System.InvalidOperationException
Anbieter konnte den Object-Wert nicht ermitteln. Zum Beispiel: die Zeile wurde gerade erstellt, der Standard für die Object-Spalte nicht verfügbar und der Consumer hat noch keinen neuen Object-Wert gesetzt.
Der entsprechende Ausschnitt aus dem Aufrufstapel sieht so aus:
bei System.Data.OleDb.ColumnBinding.Value()
bei System.Data.OleDb.OleDbDataReader.GetValues(Object[] values)
bei System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
bei System.Data.ProviderBase.SchemaMapping.LoadDataRow()
bei System.Data.Common.DataAdapter.FillLoadDataRowChunk(SchemaMapping mapping, Int32 startRecord, Int32 maxRecords)
bei System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
bei System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
bei System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
bei System.Data.Common.DbDataAdapter.Fill(Int32 startRecord, Int32 maxRecords, DataTable[] dataTables)
Via Google finden sich nur recht wenig Treffer, von denen mir keiner Weiter geholfen hat.
Der Fehler trat bisher nur bei einem einzigen Nutzer von Zeta Producer auf, ist also nur ganz sporadisch.
Eventuell ist sein ADO-Stack auf dem PC ja zerschossen?
Zusatzinfos:
Der Kunde hat:
- Windows 8.1 („Microsoft Windows NT 6.2.9200.0“).
- .NET 4 („4.0.30319.36366“).
- 64-Bit-OS.
- DE-CH als Sprache.
Meine Frage:
Hat jemand ggf. einen Tipp, was ich falsch mache?