trace in SQL
Отладочную информацию какого рода? Но повидимому, вам без ADO.NET не обойтись.
такое возможно?
Для начала замечу, что это не функция, это класс, производный от TraceListener.
Он нужен для записи отладочной информации в виде XML документа куда-либо (окно, лог-файл, консоль).
Если вы хотите записывать трассировку в БД, то придется наследоваться от TraceListener и реализовывать нужные (абстрактные) методы вручную. Кстати, посмотрите на кодплексе или кодпрожекте, может кто-то уже делал подобную реализацию.
По поводу конфигурирования трассировщика. Его также можно сконфигурировать через app.config, не обязательно программно:
<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>
Вы не можете объявить класс?
Там методов то (поверхностно смотрел): Write, WriteLine, TraceEvent, TraceData, TraceTransfer, Flush + их перегрузки. Подробнее смотрите в MSDN. Мне кажется, для начала вам потребуются только Write/WriteLine и Flush.
class SQLwrite: public class System.Diagnostic.TextWriterTraceListener
{
//мои функции
};
Но мне надо, что бы функции, который находятся в нем вызывались так:
System.Diagnostic.my_function
так возможно сделать?
class SQLwrite: public class System.Diagnostic.TextWriterTraceListener
{
//мои функции
};
Неудачный способ наследования. Нужно использовать TraceListener как базовый класс. Запись в БД не является подмножеством записи текстовых данных в поток (Stream) - это несколько (совсем) иного рода действия.
System.Diagnostic.my_function
Зачем? Доступ к функционалу слушателей осуществляется опосредованно - через статические члены класса Trace.
так возможно сделать?
Невозможно и ненужно.
З.Ы. Завтра может накидаю пример простой... самого заинтересовал вопрос (хотя в принципе трассировка в БД несколько бесполезна).