Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

trace in SQL

1.8K
05 июля 2008 года
Evgeni
188 / / 14.06.2006
Подскажите плиз, как направить отладочную информацию в бд SQL ?
5
05 июля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Evgeni
Подскажите плиз, как направить отладочную информацию в бд SQL ?

Отладочную информацию какого рода? Но повидимому, вам без ADO.NET не обойтись.

1.8K
08 июля 2008 года
Evgeni
188 / / 14.06.2006
Вот есть же функция System.Diagnostics.XmlWriterTraceListener, мне надо наподобие этой сделать свою, чтобы она наследовала такие же методы и функции. Однако я не понимаю как дполнить этот класс своим классом, т.е я хочу сделать чтобы моя функция вызывалась так: System.Diagnostics.SQLWriterTraceListener
такое возможно?
5
08 июля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Evgeni
Вот есть же функция System.Diagnostics.XmlWriterTraceListener, мне надо наподобие этой сделать свою, чтобы она наследовала такие же методы и функции.

Для начала замечу, что это не функция, это класс, производный от TraceListener.
Он нужен для записи отладочной информации в виде XML документа куда-либо (окно, лог-файл, консоль).

Если вы хотите записывать трассировку в БД, то придется наследоваться от TraceListener и реализовывать нужные (абстрактные) методы вручную. Кстати, посмотрите на кодплексе или кодпрожекте, может кто-то уже делал подобную реализацию.

По поводу конфигурирования трассировщика. Его также можно сконфигурировать через app.config, не обязательно программно:

 
Код:
<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="4">
      <listeners>
        <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="TextWriterOutput.log" />
        <remove name="Default" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>
З.Ы. Зы, по словам МСДН-а, трассировка будет работать при включении соответствующей опции компилятора (/d:TRACE это эквивалент #define TRACE).
1.8K
08 июля 2008 года
Evgeni
188 / / 14.06.2006
на счет app.config это я знал)). Но вот, как вы правильно выразились, я не могу реализовать эти абстрактные методы(а точнее, не могу их определить. сам код функции знаю как написать, а вот как объявить нет).
5
08 июля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Evgeni
сам код функции знаю как написать, а вот как объявить нет).

Вы не можете объявить класс?
Там методов то (поверхностно смотрел): Write, WriteLine, TraceEvent, TraceData, TraceTransfer, Flush + их перегрузки. Подробнее смотрите в MSDN. Мне кажется, для начала вам потребуются только Write/WriteLine и Flush.

1.8K
08 июля 2008 года
Evgeni
188 / / 14.06.2006
я объявляю класс так
class SQLwrite: public class System.Diagnostic.TextWriterTraceListener
{
//мои функции
};

Но мне надо, что бы функции, который находятся в нем вызывались так:
System.Diagnostic.my_function

так возможно сделать?
5
09 июля 2008 года
hardcase
4.5K / / 09.08.2005
Цитата: Evgeni
я объявляю класс так
class SQLwrite: public class System.Diagnostic.TextWriterTraceListener
{
//мои функции
};

Неудачный способ наследования. Нужно использовать TraceListener как базовый класс. Запись в БД не является подмножеством записи текстовых данных в поток (Stream) - это несколько (совсем) иного рода действия.

Цитата: Evgeni
Но мне надо, что бы функции, который находятся в нем вызывались так:
System.Diagnostic.my_function


Зачем? Доступ к функционалу слушателей осуществляется опосредованно - через статические члены класса Trace.

Цитата: Evgeni

так возможно сделать?

Невозможно и ненужно.



З.Ы. Завтра может накидаю пример простой... самого заинтересовал вопрос (хотя в принципе трассировка в БД несколько бесполезна).

1.8K
09 июля 2008 года
Evgeni
188 / / 14.06.2006
ладно, буду ждать))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог