Ошибка Oracle Odp.Net при обращении к процедуре в неверном пакете - PullRequest
5 голосов
/ 01 февраля 2011

Я только что получил мой худший кошмар обслуживания: тихая ошибка.

Я вызывал процедуру, используя Odp.Net внутри пользовательского пакета, и вызов процедуры завершился сбоем без каких-либо исключений (проверено с помощью пошаговой отладки и предложения catch all). После долгих поисков я заметил, что пакет был признан недействительным (произошел сбой на сервере), после перекомпиляции пакета все вернулось к нормальному состоянию (код вызова был верным и неизмененным).

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

При использовании MS System.Data.OracleClient в этом случае возникает исключение OracleException, есть ли способ получить аналогичное поведение с Oracle.DataAccess Oracle? Какой-то параметр sqlnet.ora? Я не нашел подобной проблемы нигде в сети.

с использованием сервера Oracle11R2, новейшего клиента Oracle Win32. .Net3.5.

Ответы [ 2 ]

2 голосов
/ 09 марта 2011

Вы пробовали включить журнал трассировки odp.net?

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

Может быть, это прольет немного света?

0 голосов
/ 01 февраля 2011

Это проблема провайдера. Я изменил ODP.NET после аналогичного исключения. Сейчас я использую dotConnect для Oracle и рекомендую вам сделать то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...