Току-що получих най-лошия си кошмар за поддръжка: тиха грешка.
Извиквах процедура, използвайки Odp.Net в персонализиран пакет, и извикването на процедурата се провали безшумно, без да бъде хвърлено изключение (проверено чрез използване на стъпка по стъпка отстраняване на грешки и клауза за улавяне на всички). След много търсене забелязах, че пакетът е анулиран (някаква злополука на сървъра), след повторно компилиране на пакета всичко се върна към нормалното (кодът за повикване беше правилен и непроменен).
Тъй като е наистина лесно да обезсиля случайно пакет в Oracle, трябва да хвана този вид грешка, дори само за да ги регистрирам за отстраняване на грешки.
С System.Data.OracleClient на MS в този случай беше хвърлено изключение OracleException, има ли някакъв начин да получите подобно поведение с Oracle.DataAccess на Oracle? Някакъв параметър на sqlnet.ora? Никъде в нета не намерих подобен проблем.
използвайки сървър Oracle11R2, най-новият клиент на Oracle Win32. .Net3.5.