Включить ведение журнала ODP.Net - PullRequest
6 голосов
/ 06 мая 2011

Может кто-нибудь помочь мне с включением регистрации ODP.Net на компьютере с Windows XP?Я гуглил и нашел следующую ссылку, но она не работала для меня.

http://download.oracle.com/docs/html/E10927_01/featConfig.htm

Я установил для параметра «TraceLevel» значение «63» в реестре, но это не помогло

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

Хотелось бы, чтобы для Oracle был такой инструмент, как "SQL Profiler".

Ответы [ 3 ]

3 голосов
/ 25 октября 2014

Обратите внимание, что по умолчанию трассировка будет идти в корень диска C. В Windows 7 и более поздних версиях для этого требуются права администратора, иначе произойдет сбой в автоматическом режиме. Поэтому либо убедитесь, что ваше приложение работает от имени администратора, либо что вы изменили путь к файлу.

Также обратите внимание, что если вы хотите полностью управлять ODP.NET, вам нужно поместить настройки в файл приложения или веб-конфигурации, а не в реестр, И настройки TraceLevel отличаются (от 1 до 7).

И, наконец, при отслеживании неуправляемого ODP.NET следует помнить, что для 32-битной Windows существует отдельный узел реестра WOW. Если ваше приложение 32-разрядное, не устанавливайте его случайно в 64-разрядной части реестра.

3 голосов
/ 23 августа 2011

У меня были те же проблемы на некоторых машинах при устранении некоторых проблем с поддержкой Oracle. Я обнаружил, что изменение пути к выходному файлу пару раз и многократные перезапуски, наконец, заставили клиента ODP начать ведение журнала. Убедитесь, что выходной файл находится в каталоге, к которому у вашего удостоверения вызывающего приложения есть доступ.

Проверьте следующее в разделах реестра. Вот пример с моей машины для .net4 и 11.2.

HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ ORACLE \ ODP.NET \ 4.112.2.0

  • 32 или 64 бита (правильный узел)
  • Изменить уровень трассировки на 8 (или 64, я думаю, для полной регистрации)
  • Изменить параметр трассировки = 1
  • Установить действительное имя TraceFileName
0 голосов
/ 13 марта 2015

Вы также можете использовать подход на основе AOP - генерировать прокси с использованием библиотеки, такой как Castle Dynamic Proxy, перехватывать интересующие вас вызовы и регистрировать аргументы, такие как SQL и параметры.На мой взгляд, это более мощный метод, хотя он может как-то повлиять на производительность.Смотрите этот Гист для примера реализации: https://gist.github.com/Buthrakaur/b1124c08f8521f39f8fd

...