none
Datenbankereignis startet C# Programm RRS feed

  • Frage

  • Hi,

    ich moechte gerne wissen, welche Moeglichkeiten es gibt ein C# Programm zu starten, wenn ein bestimmtes Ereignis (bspw. inserieren eines neuen Datensatzes) in einer SQl-Datenbank (MS SQL Server 2008) erfolgt.

    Danke im Voraus!

    PS: Ich bin fuer alle Vorschlaege offen. Auch andere Ideen wuerden bin interessieren bspw. von der SQL-Seite eines bestimmtes Services zu starten usw.

    Mittwoch, 31. März 2010 14:24

Antworten

  • Hallo MartinDevelop,

    anhand Deiner kurzen Angaben ist es schwer zu sagen, was und wie Du es machen kannst, da ich nicht genau weiß, was es werden soll.

    DML Aktionen wie das einfügen eines Datensatzes lösen einen Tabellen Trigger aus. Du könntest eine CLR Assembly in C# (.NET allgemein) erstellen, die als Stored Procedure definieren und dann aus dem Trigger auslösen bzw. gleich den Trigger in C# erstellen (Programming CLR Triggers). Benutzer-Interaktionen sind dabei natürlich nicht möglich, da es im Kontext/Inprocess des Sql Server abläuft. Ebenso sind die Möglichkeiten aufgrund des Sicherheitskontext im SQL Server beschränkt.

    Für SQL Sever 2005 gab es den Notification Services, um eine Applikation über Datenänderungen zu informieren, ohne ständig pollen zu müssen; in MS SQL Server 2008 ist der aber wieder entfernt worden


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 31. März 2010 18:32

Alle Antworten

  • Hallo MartinDevelop,

    anhand Deiner kurzen Angaben ist es schwer zu sagen, was und wie Du es machen kannst, da ich nicht genau weiß, was es werden soll.

    DML Aktionen wie das einfügen eines Datensatzes lösen einen Tabellen Trigger aus. Du könntest eine CLR Assembly in C# (.NET allgemein) erstellen, die als Stored Procedure definieren und dann aus dem Trigger auslösen bzw. gleich den Trigger in C# erstellen (Programming CLR Triggers). Benutzer-Interaktionen sind dabei natürlich nicht möglich, da es im Kontext/Inprocess des Sql Server abläuft. Ebenso sind die Möglichkeiten aufgrund des Sicherheitskontext im SQL Server beschränkt.

    Für SQL Sever 2005 gab es den Notification Services, um eine Applikation über Datenänderungen zu informieren, ohne ständig pollen zu müssen; in MS SQL Server 2008 ist der aber wieder entfernt worden


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 31. März 2010 18:32
  • Hallo MartinDevelop,

    Hat Dir die Antwort geholfen?

    Grüße,
    Robert

    Freitag, 2. April 2010 13:30
    Moderator
  • Hallo MartinDevelop,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Mittwoch, 7. April 2010 09:35
    Moderator