Неотчетена грешка на Oracle Odp.Net при извикване на процедура в невалиден пакет

Току-що получих най-лошия си кошмар за поддръжка: тиха грешка.

Извиквах процедура, използвайки Odp.Net в персонализиран пакет, и извикването на процедурата се провали безшумно, без да бъде хвърлено изключение (проверено чрез използване на стъпка по стъпка отстраняване на грешки и клауза за улавяне на всички). След много търсене забелязах, че пакетът е анулиран (някаква злополука на сървъра), след повторно компилиране на пакета всичко се върна към нормалното (кодът за повикване беше правилен и непроменен).

Тъй като е наистина лесно да обезсиля случайно пакет в Oracle, трябва да хвана този вид грешка, дори само за да ги регистрирам за отстраняване на грешки.

С System.Data.OracleClient на MS в този случай беше хвърлено изключение OracleException, има ли някакъв начин да получите подобно поведение с Oracle.DataAccess на Oracle? Някакъв параметър на sqlnet.ora? Никъде в нета не намерих подобен проблем.

използвайки сървър Oracle11R2, най-новият клиент на Oracle Win32. .Net3.5.


person Michel    schedule 01.02.2011    source източник
comment
Мишел, не съм сигурен, че ще ти хареса това, но използвам odp.net и ако се опитам да извикам невалиден пакет, получавам изключения - изключението, което виждам в .net, е вярно на изключението в Oracle . Съхранените процедури, които извикваме, почти винаги ще имат изходящ параметър, не знам дали това би имало значение (в това, че може да принуди odp.net да извърши някаква последваща обработка, което може да го накара да хвърли изключението)   -  person PeteH    schedule 21.06.2012


Отговори (2)


Опитахте ли да активирате журнала за проследяване на odp.net?

<oracle.dataaccess.client>
  <settings>
   <add name="TraceFileName" value="c:\odpnet1.trc"/>
   <add name="TraceLevel" value="63"/>
 </settings>
 </oracle.dataaccess.client>

Може би ще хвърли малко светлина?

person Peter C    schedule 09.03.2011

Това е проблем с доставчика. Промених ODP.NET след подобно изключение. Сега използвам dotConnect за Oracle и ви препоръчвам да направите същото.

person JackD    schedule 01.02.2011
comment
за съжаление моите клиенти са доста консервативни. Познавам тези библиотеки, просто бих предпочел чисто решение на Oracle. - person Michel; 03.02.2011