Benutzer mit den meisten Antworten
Datenbankereignis startet C# Programm

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.
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- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 2. April 2010 13:30
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 7. April 2010 09:35
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- Als Antwort vorgeschlagen Robert BreitenhoferModerator Freitag, 2. April 2010 13:30
- Als Antwort markiert Robert BreitenhoferModerator Mittwoch, 7. April 2010 09:35