ExternalSQL
Lgoo
Member Posts: 45
Hello,
does an ExternalSQL table runs the Insert Trigger or any Event when it was inserted from outside the application? Or how can i recognize when a record was inserted?
Thanks!
does an ExternalSQL table runs the Insert Trigger or any Event when it was inserted from outside the application? Or how can i recognize when a record was inserted?
Thanks!
0
Best Answer
-
You have no idea what ExternalSQL is, have you?Hi, you should never write to NAV directly. For example use another DB (own-created) and some event generator (task scheduler, SQL OnInsert trigger invoking NAV webservice handler).
@Lgoo No, if something gets inserted from outside no Trigger or Event is called. But its advantage of ExternalSQL that it is in the transaction control. So you can set i.e. a marker for new records and change this marker as soon as you handled this record inside NAV. If the transaction in NAV breaks even the changes on the ExternalSQL table are rolled back.
6
Answers
-
Hi, you should never write to NAV directly. For example use another DB (own-created) and some event generator (task scheduler, SQL OnInsert trigger invoking NAV webservice handler).Regards
xStepa0 -
You have no idea what ExternalSQL is, have you?Hi, you should never write to NAV directly. For example use another DB (own-created) and some event generator (task scheduler, SQL OnInsert trigger invoking NAV webservice handler).
@Lgoo No, if something gets inserted from outside no Trigger or Event is called. But its advantage of ExternalSQL that it is in the transaction control. So you can set i.e. a marker for new records and change this marker as soon as you handled this record inside NAV. If the transaction in NAV breaks even the changes on the ExternalSQL table are rolled back.
6 -
Now I have - former LinkedObject.

But still he should use some kind of handler (scheduler, WS). Also it is not necessary to use markers - using timestamps are imho better and don't need bidirectionality ...
Thx Tim82Regards
xStepa0 -
Thanks for your answer. LinkedObject is still available and something different. My aim was to insert a Job Que Entry when a insert in the ExternalSQL was done and run the scheduler directly. So the Job Queue dont has to check every minute for new records. But unfortunately there is no other solution...0
-
NAV 2017 uses TaskScheduler to handle Job queues. There is a table $ndo$taskscheduling which handles that.
You could try to create a job queue entry in NAV and add a trigger to your table connected via ExternalSQL to modify the state field to release your job. It is nowhere near of having a trigger or an event fired in NAV, as I guess, if it works at all, there still be some delay before scheduler pick up released job,
Just a thought..
SlawekSlawek Guzek
Dynamics NAV, MS SQL Server, Wherescape RED;
PRINCE2 Practitioner - License GR657010572SG
GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-030
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.7K Microsoft Dynamics NAV
- 18.8K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 328 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions

