Jump to content

ingoeff

Members
  • Gesamte Inhalte

    12
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von ingoeff

  1. @hh2000

    ich konnte das Problem, sagen wir, beheben. Richtig happy bin ich damit noch nicht.

    Wenn es um mehrere DS geht hast du recht. Ich glaubte aber Ursache ist das neue Rechtesystem von 2005 im vergl mit 2000, deswegn wollte ich prinzipiell Trigger ans laufen kriegen, die so aussehn wie sie von der angesprochen App erzeugt werden.

     

    Ich hatte dort übersehen, der Trigger, der erzeugt wird, ist für zwei Tabellen die je einen Primärkey haben. Ich hatte der Table_1 keinen gegben nur TableOrg hatte einen.

    Und die Ursache dafür, dass manchmal nichts passiert, ergab sich natürlich aus dem WHERE Teil . Wenn das gewicht1 ungleich ist dem GewichtOrg, wird auch keine Änderung übertragen.

     

    Wenn ich den gesamten UPDATE so schreibe:

    UPDATE TableOrg SET Gewicht=@InsertetGW1

    WHERE @InsertetPK = IDNr

     

    klappts auch hier.

     

    Das wahre ist das noch nicht. Wiso klappt das wenn Table_1 auch einen Primärkey hat. Beide Tabell haben je nur einen Datensatz

     

    Wo kann ich sehen welche Werte die Variabln haben?

  2. Bei logging geht es um das Transaktionsprotokoll, mit dieser Anweisung kann man es deaktivieren

     

    ALTER DATAbase [Datenbankname]* SET RECOVERY SIMPLE

     

    Wie man es wieder aktiviert, fehlt noch

     

    Letztlich hats aber nichts gebracht.

     

    Was die Sache vielleicht aufhellt, ich habe eine Winform.Net Applikation. Diese kann Tabellen anlegen und Trigger erzeugen.

    Diese Trigger funktionieren auch(Win7, WinVista auch auf WinXp).

    Die App meldet sich am Server an, mit demselben Usernamen den ich habe, wenn ich mit dem SQL Server Managment Studio zugreife.

     

    Noch etwas, was Licht ins Dunkel bringen könnte. Die beiden manuell angelgten Tabellen, haben je nur eine Zeile.

    Wenn die Spalte, die ich ändere, in beiden Tabellen denselben Wert hat,

    kommt diese Meldung: "... machen die Zeile nicht eindeutig oder ändern mehrere Zeilen...".

    Diese Message ist mir nicht unbekannt, gerade deshalb erwarte ich bei Ungleichheit der Werte,

    dass die Änderung Tabelle ankommt. Weil eben -> nur ein Zeile ->PrimaeKey in beiden gleich -> also muss es doch ankommen

  3. Vielleicht lohnt es an der Stelle weiter zu gehen. Geh ich auf 'Eigenschaften' der Tabellen, dann 'Berechtigungen' gibt es keine 'expliziten' Berechtigungen, alle haben dort nur den Eintrag für Schema:dbo.

    Dbo ist mitglied der Rolle db_owner, sollte doch OK sein, oder ?

    Soweit ich sehen kann mit meinem besch wissen überdiese dinge, haben alle Tabellen in dieser Db dieselben Rechte.

    Hab ich hier vielleicht was übersehen?

  4. Danke für den Tipp das Leerzeichen soll da nicht sein, hab eben nachgesehen und es weggemacht(mit wurde der sting aber auch sauber ausgeführt)

    Aber, es bleibt dabei, kein error, es tut sich einfach nichts

     

    Ich hab alles was SQL Server im Namen hat nochmal deistalliert, dann den 2005 wieder neu und das SP2 hinterher, habe nicht viel davon erhofft, aber wie es manchmal so ist. Es bleibt aber dabei, der Tigger macht nichts

     

    Noch ein Hinweis zum doppel von gestern, das war kein absicht, es sah für einen moment so aus, als wäre nichts abgesendet

  5. Hallo,

     

    wer kann hier weiterhelfen,

    Der trigger funzt nicht, es gibt keine Fehlermeldung, es passiert einfach nichts. Ich öffne Table_1 ändere das Gewicht und dieser neue wert sollte dann in TableOrg erscheinen, macht er aber nicht.

     

    Ich habe in derselben DB, zwei weitere Tabellen ziwchen dnene auch ein trigger gesetzt ist. Dieser hat denselben Aufbau, dieselbe Anzahl von variabln, Spalten,Datentyp, hier funzt der Trigger. Der einzige Unterschied ist, diese beiden Tabellen waren schon in der Datenbank. Die beiden bei denen es nicht klappt, habe ich heute selbst angelegt.

     

    So sieht der Code aus

     

    Create Trigger [dbo].[TriggTest ] ON [dbo].[Table_1]

    for insert, update as

    Begin

    DECLARE @InsertetPK Int

    DECLARE @DeletePK Int

     

    DECLARE @InsertetGW1 SmallInt

    DECLARE @DeleteGW1 SmallInt

     

    SELECT @InsertetPK = inserted.IDNr from inserted

    SELECT @DeletePK = deleted.IDNr from deleted

     

    SELECT @InsertetGW1 = inserted.GW1 from inserted

    SELECT @DeleteGW1 = deleted.GW1 from deleted

    UPDATE TableOrg SET Gewicht=@InsertetGW1

    WHERE @InsertetPK = IDNr And @DeleteGW1=Gewicht

    End

  6. Hallo,

     

    wer kann hier weiterhelfen,

    Der trigger funzt nicht, es gibt keine Fehlermeldung, es passiert einfach nichts. Ich öffne Table_1 ändere das Gewicht und dieser neue wert sollte dann in TableOrg erscheinen, macht er aber nicht.

     

    Ich habe in derselben DB, zwei weitere Tabellen ziwchen dnene auch ein trigger gesetzt ist. Dieser hat denselben Aufbau, dieselbe Anzahl von variabln, Spalten,Datentyp, hier funzt der Trigger. Der einzige Unterschied ist, diese beiden Tabellen waren schon in der Datenbank. Die beiden bei denen es nicht klappt, habe ich heute selbst angelegt.

     

    So sieht der Code aus:

     

    Create Trigger [dbo].[TriggTest ] ON [dbo].[Table_1]

    for insert, update as

    Begin

    DECLARE @InsertetPK Int

    DECLARE @DeletePK Int

     

    DECLARE @InsertetGW1 SmallInt

    DECLARE @DeleteGW1 SmallInt

     

    SELECT @InsertetPK = inserted.IDNr from inserted

    SELECT @DeletePK = deleted.IDNr from deleted

     

    SELECT @InsertetGW1 = inserted.GW1 from inserted

    SELECT @DeleteGW1 = deleted.GW1 from deleted

    UPDATE TableOrg SET Gewicht=@InsertetGW1

    WHERE @InsertetPK = IDNr And @DeleteGW1=Gewicht

    End

  7. Hallo SQL Forum,

    (der error passiert auf einer Vista maschine mit SQL-Server 2005)

     

    Meine Sicht hat zwei tabellen mit 1:1 Beziehung, die ich "tblcopy1","tblcopy2" nenne. Beide sind Copien einer Tabelle

    die ich "tblorg" nenne(diese hat momentan nur zwei datensätze)

    Beide haben je einen insert/update trigger auf die tblorg. Öffne ich die Sicht und versuch eines der Felder zu ändern, kommt

    diese Message: "Daten in Zeile 1 wurde nicht verarbeitet... oder ändern meherere Zeilen (2)

    Ich hab dazu natürlich gegoogelt und konnte zwei Beiträge finden, beide sprechen davon, dass die 'Sicht' es verhindert.

    <b>Nur, es klappt z.B dann</b>, wenn ich mit rechtsklick eine neue sicht anlege, nur eine der tblCopy tabellen auswähle, auf "Ausführen" klicke und dann was ändere.

     

     

    Ich kann die Änderung sehen in der tblCopy und auch die der tblorg.

     

    Ich hab dann angenommen, dass die tblCopy Tabellen vielleicht dieselben Spaltennamen haben, haben sie aber nicht.

    Ich erinner mich auch, als ich mich zuletzt vor 5, 6 jahren damit beschäftigt hatte, hatte da noch den SQL-Server 2000, gab es dieses Problem nicht.

     

    Ich weiss nicht was hier verkehrt sein kann, wer kann helfen

×
×
  • Neu erstellen...