[gelöst] SQL-Server Trigger erstellen

5. Juli 2010 09:14

Guten Morgen,

kann/darf man in den SQL-Tabellen in NAV Trigger erstellen? Und ich meine jetzt hier echte Datenbank-Trigger und nicht die Trigger in NAV.

Was passiert ggf. bei einem Update der DB oder Design-Änderungen an einer Tabelle in NAV?

Volker
Zuletzt geändert von vsnase am 5. Juli 2010 11:11, insgesamt 1-mal geändert.

Re: SQL-Server Trigger erstellen

5. Juli 2010 11:01

Also grundsätzlich spricht da nix dagegen, aber wie so oft: es hängt davon ab, was Du mit dem Trigger machen möchtest ...
Mit INSTEAD OF Triggern wäre ich vorsichtig, ebenso mit rekursiven Triggern ...

Die NAV Applikation selbst bzw. C/SIDE hat keine Ahnung von der Existenz des Triggers, D.h. wird z.B. die Tabelle umgebaut, kann NAV keine Rücksicht auf den TG nehmen. Wird die Tabelle gelöscht (und ggf. dann neu aufgebaut), dann geht natürlich auch der TG verloren.
"Normale" Design-Änderungen an einer Tabelle führen i.d.R. nicht zum Löschen/Neuaufbau der Tabelle; ich meine das kommt in älteren NAV Versionen nur vor, wenn man ein Feld aus der Tabelle löscht.
Bei SIFT Tabellen siehts anders aus, die werden neu aufgebaut, wenn der korrespondierende SumIndex-Key geändert wird.

Was willst Du denn mit dem TG bewerkstelligen?

Re: SQL-Server Trigger erstellen

5. Juli 2010 11:10

Hallo Jörg,

Ich möchte gerne Änderungen z. B. in Tabelle 5050 gerne mit Exchange und Sharepoint abgleichen, ohne dass ich auf den Clients etwas installieren muss und unabhängig vom NAV-Client ist.

Volker

Re: [gelöst] SQL-Server Trigger erstellen

5. Juli 2010 11:23

Also via Trigger die Daten aus T5050 lesen und an Exchaneg/Sharepoint übertragen? Nicht umgekehrt - also aus EX/SP lesen und in T5050 schreiben (davon würde ich dringend abraten)?
Das sollte wohl klappen ... Man muss nur sicher stellen, dass das Abgleichen der Daten nicht zu lange dauert und die Transaktion zu sehr verlängert wird (damit verschlechterte "User-Experience" in NAV) ...

Re: [gelöst] SQL-Server Trigger erstellen

5. Juli 2010 11:40

Hallo Jörg,

Ablauf soll folgendermaßen sein:

Neue/geänderte Kontakte in NAV lösen SQL-Trigger aus -> Kontaktdaten gehen via Exchange-Webservices an Exchange -> ggf. Update der Kontakte in NAV (z. B. Exchange-StoreID) via NAV-Webservices. Über die NAV-Webservices sollten dann auch Neuanlagen und Änderungen in Exchange von Exchange an NAV gehen können.

Volker