SQL Server Trigger

Du kannst auch eine AD-Gruppe anlegen, in der alle betroffenen Anwender sind. Die AD-Gruppe kannst du dann im SQL Server berechtigen, die kann sich dann mit ihrem Windows-Login an der DB anmelden. Voraussetzung ist natürlich, das Windows User zum Anwendungs-User passen...

Dein Code kann man auch weiter vereinfachen (und sicherheitshalber etwas absichern). Das
Code:
    Declare @Index    int

    set @index = (SELECT idx_Filiale from inserted)

    -- Insert statements for trigger here
    Update BtoB_Filiale
    set BtoB_Filiale.Letzte_Aenderung =  GETDATE(),
    BtoB_Filiale.Aenderung_Durch=(SELECT SYSTEM_USER)
    where BtoB_Filiale.idx_Filiale = @Index
kann auch so vereinfacht werden:
Code:
    -- Insert statements for trigger here
    Update BtoB_Filiale
    set BtoB_Filiale.Letzte_Aenderung = GETDATE(),
    BtoB_Filiale.Aenderung_Durch= SYSTEM_USER
    where BtoB_Filiale.idx_Filiale = (SELECT TOP 1 idx_Filiale from inserted WHERE idx_Filiale IS NOT NULL)
Etwas unglücklich ist auch, das du für jede idx_Filiale einen Eintrag in BtoB_Filiale erstmalig anlegen musst, sonst passiert einfach nichts. Aber irgendwie scheinst du das ja auch als Status-Tabelle zu wollen, nicht als fortlaufende Log.
 
Werbung:
  • ich werde die Mitarbeiter die die Daten erfassen und die mit der Datenbank arbeiten, am SQL Server als lokale Benutzer anlegen,
  • ich werde die Verbindung zum SQL Server mit diesem Benutzer steuern, damit der Trigger den richtigen Mitarbeiter erkennen kann,
  • ich werde versuchen, die ODBC Verbindung zum Server durch einen Connectionstring zu ersetzen, der automatisch den Mitarbeiter übergibt,
So wie @ukulele schon schrieb ist eine AD Gruppe die beste und einfachste Lösung für dein Problem, falls es in deinem Kontext geht.
 
Werbung:
Guten Morgen,

leider geht das nicht mit einer AD Gruppe, da an mehreren PCs - leider - immer der selbe Benutzer verwendet wird, da sich verschiedene Mitarbeiter dort für die gleiche Tätigkeit anmelden und der Kunde das seinerzeit so eingerichtet hat und nicht ändern will.

Aber es ist auch egal, da es mit den SQL Server Usern ja so klappt.

Nochmals vielen Dank für Eure Hilfe. Für mich reicht das so.
 


Schreibe deine Antwort....
Zurück
Oben