Ich habe gerade meinen schlimmsten Wartungsalbtraum erlebt: einen stillen Fehler.
Ich rief eine Prozedur mit Odp.Net innerhalb eines benutzerdefinierten Pakets auf, und der Prozeduraufruf scheiterte stillschweigend, ohne dass eine Ausnahme ausgelöst wurde (überprüft mit Schritt-für-Schritt-Debug und einer catch all-Klausel). Nach langem Suchen stellte ich fest, dass das Paket ungültig war (ein Missgeschick auf dem Server). Nachdem ich das Paket neu kompiliert hatte, war alles wieder in Ordnung (der Aufrufcode war korrekt und unverändert).
Da es in Oracle sehr einfach ist, ein Paket versehentlich ungültig zu machen, muss ich diese Art von Fehlern abfangen, und sei es nur, um sie zur Fehlersuche zu protokollieren.
Mit MS's System.Data.OracleClient wurde in diesem Fall eine OracleException ausgelöst, gibt es eine Möglichkeit, ein ähnliches Verhalten mit Oracle's Oracle.DataAccess zu erreichen? Eine Art von sqlnet.ora Parameter ? Ich habe nirgendwo im Netz ein ähnliches Problem gefunden.
mit Oracle11R2-Server, neuester Oracle Win32-Client. .Net3.5.