Ich weiß, dass es im Internet mehrere Threads und Beiträge zu diesem Thema gibt, und ich habe sie gelesen (nicht alle Artikel, muss ich zugeben), aber keiner von ihnen hat mich völlig zufrieden gestellt.
Meine Situation:
Ich verwende ODP.net (dll Version 2.111.6.0) für den Zugriff auf die Oracle DB (Version 10 + 11) und einen DataReader zum Abrufen der Daten (.NET 3.5, C#).
Die Verwendung dieses Codes führt zu einem ' System.OverflowException (Arithmetische Operation führte zu einem Überlauf.) '
decimal.TryParse(oraReader.GetOracleDecimal(0).Value.ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
und diese ergibt einen Wert von ' 3,000000000000000000000000000000000000000000000000000000000E-126 '
decimal.TryParse(oraReader.GetOracleValue(0).ToString(),
NumberStyles.Any, null, out parsedOraDecimal)
Nun muss ich einen Weg finden, diesen Wert ordnungsgemäß abzurufen und auszuwerten - die DB wird auch von anderen Anwendungen verwendet, die außerhalb meiner Kontrolle liegen, so dass Änderungen dort nicht möglich sind.
Die Umwandlung der Typen in meinem C#-Code von "decimal" in "double" ist auch nicht wirklich eine Option.
Irgendwelche Ideen?