Announcement

Collapse
No announcement yet.

Protokollieren der SQL-Statements

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Protokollieren der SQL-Statements

    Hallo zusammen,

    ich habe eine ASP.Net-Anwendung, die zur Datenhaltung eine Oracle9i Datenbank verwendet. Verwendet wird hier der standard ADO.Net-Provider für Oracle.
    Aufgrund von komplexen Workflows auf dem Business-Server (C#) werden beim Benutzen der Anwendung sehr viele teilweise nicht mitgeloggte Zugriffe auf die Datenbank abgesetzt. Dies sind sowohl DML- als auch DDL-Statements.
    Da die Anwendung die Möglichkeit gibt, per clientseitigen Scripting und per .Net-Scripting auf Business-Server-Ebene, zusätzliche Funktionalitäten bereitzustellen, möchte ich nun in Erfahrung bringen, was für Statements genau über ADO.Net auf die DB losgelassen werden.
    Nur so können die eigenen Scripte (Workflows) mit entsprechendem Know-How bezüglich der Anwendung zu erstellen.

    Frage:
    Wie kann ich ALLE ADO.Net-Aufrufe (public functions von ADO.Net) der Anwendung abfangen und die kompletten Statements inkl. verwendeter Parameter-Werten beispielsweise in eine Text-Datei protokollieren.
    Kann man hierzu den Datenstrom umleiten?
    Die Anwendung bietet keine (!) Möglichkeit an, die kompletten Statements zu loggen. Ebenso kann man dies nicht per Client- oder Business-Server-Scripting erreichen!

    Für einen Tip bzw. eine Hilfestellung währe ich sehr dankbar.
    Vielen Dank schon mal und
    viele Grüße,

    André

  • #2
    Hallo,

    über den Provider für das Event Tracing for Windows (ETW) ist eine umfassende Protokollierung aller über ADO.NET 2.0 ausgeführten Datenbankzugriffe möglich, wenn AdoNetDiag.dll in der Windows-Registry aktiviert wird. Die dazu notwendigen Schritte sind etwas umfangreicher als gewöhnlich, so dass man sich an die MSDN-Beschreibung halten sollte ;-)

    Comment


    • #3
      Danke

      Hallo Andreas,

      vielen Dank für die Antwort und die Hilfe.
      Ich werde mal schauen, ob ich entsprechende Informationen finde.

      Viele Grüße,
      André

      Comment


      • #4
        Frage

        Hallo Andreas,

        ich habe mal die ersten Gehversuche mit ETW getan und bin zurzeit noch nicht sehr weit gekommen.

        Habe alle Vorbereitungen getan, wie es seiner Zeit mal in einem Artikel der .NetPro-Zeitschrift stand.
        Konfiguriere ich über die Snapin-Oberfläche anschließend einen neuen Trace, habe ich nicht die Möglichkeit, ADO.Net als Event-Provider auszuwählen. Er fehlt gänzlich in der Liste (ebenso fehlen noch andere Provider).
        Wenn ich aber über die Kommando-Zeile einen neuen Trace erzeuge, so kommt zwar kein Fehler, es geht aber trotzdem nicht. Wenn ich die Konfiguration des über die CMD angelegten Traces in der Snapin-Oberfläche ansehen möchte erhalte ich einen Hinweis (bzw. Frage), dass Event-Provider (wie z.B. ADO.Net) deaktiviert seinen und ob diese automatisch aus der Konfiguration des Traces entfernt werden sollen.
        --> Mir schein da ist etwas deaktiviert.

        Kennst Du das Problem und könntest Du mir hierzu noch mal einen Tip geben?

        Vielen Dank und viele Grüße,
        André

        Comment

        Working...
        X