10. März 2010 19:19
11. März 2010 08:58
11. März 2010 10:15
ChangeLogEntry.INIT;
ChangeLogEntry."Entry No." = 0;
...
ChangeLogEntry.INSERT;
11. März 2010 11:13
stryk hat geschrieben:Wenn ich richtig verstanden habe, dann habt ihr die "Change Log" Funktionalität kopiert?
stryk hat geschrieben:In "Change Log Entry" wird die "Entry No." via "AutoIncrement" (= IDENTITIY INSERT) erzeugt; d.h. der SQL Server vergibt die Nummern selber.
AI funktioniert aber nur, wenn kein expliziter Wert - hier für "Entry No." - vorgegeben wird; d.h. "Entry No." muss mit 0 (Null) initialisiert sein. Wird ein Wert <> 0 vorgegeben, dann versucht NAV die AI/IDENTITY INSERT Eigenschaft zur Laufzeit zu ändern - und das dürfen nur User der Rolle "db_owner". Ist der User nur "public" wird exakt der beschriebene Fehler generiert.
Oft wird bei solchen Sachen in NAV vergessen, dass z.B. ein INIT die Primärschlüssenfelder nicht (!) initialisiert; da "Entry No." eben PK ist, kann es hier also passieren dass Werte <> 0 mitgegeben werden ...
An den Stellen, wo hier DS eingefügt werden, muss man im Prinzip wie folgt vorgehen:
- Code:
ChangeLogEntry.INIT;
ChangeLogEntry."Entry No." = 0;
...
ChangeLogEntry.INSERT;
11. März 2010 12:30
stryk hat geschrieben:An den Stellen, wo hier DS eingefügt werden, muss man im Prinzip wie folgt vorgehen:
- Code:
ChangeLogEntry.INIT;
ChangeLogEntry."Entry No." = 0;
...
ChangeLogEntry.INSERT;
11. März 2010 12:41
16. März 2010 15:32
18. März 2010 08:49
18. März 2010 09:16