NAV Service Tier - Data caching - NAV 2018

skiddooskiddoo Member Posts: 19
edited 2018-05-16 in NAV Three Tier
Hello,

I'm running NAV 2018 CU1 and ran into the following problem.

I updated a record in the NAV database via SQL statement but my NAV client did not get the updated data.

How to reproduce
  1. Open NAV demo database with development environment
  2. Create a CU with following code:
    <blockquote>
    Location : Record 14
    Location.get('BLAU');
    Message('%1',Location.Name);
    </blockquote>
  3. Run Codeunit. Result = "Blaues Warenlager" (in german demo database)
  4. DO NOT CLOSE THE development environment
  5. run following statement on the NAV demo database
    select Code,Name from [CRONUS AG$Location] where Code = 'BLAU'
    update [Cronus AG$Location] set Name = 'Hello World'
    select Code,Name from [CRONUS AG$Location] where Code = 'BLAU'
  6. Result: Location name is changed to 'Hello World'
  7. Run the Codeunit from step 2 again
  8. Result: Name is still "Blaues Warenlager"

You two options now
1. restart Service tier
2. open the table and press F5 to reread the records

Is there a way to force the service tier to reload the data from the database without restarting it?

Regards
Benjamin

Answers

  • Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    This is one of the reasons why updating data from SQL is not supported/recommended.

    Try calling SELECTLATESTVERSION, it clears the session cache. It may help, but if you use it too much you will slow down your system by forcing the NST to reread the data.

    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
  • skiddooskiddoo Member Posts: 19
    Thanks. I just hoped for a Powershell cmdlet like "Flush-Cache" or something similar. Because sometimes I need to update data via SQL because of a nasty bug and I do not want to kick all users just because of this data correction.
  • Slawek_GuzekSlawek_Guzek Member Posts: 1,690
    I am not aware of anyting like this in powershell I'm afraid. I think that the data will be also refreshed when a user hits Refresh on the Page, but that's just yet another manual workaround
    Slawek Guzek
    Dynamics NAV, MS SQL Server, Wherescape RED;
    PRINCE2 Practitioner - License GR657010572SG
    GDPR Certified Data Protection Officer - PECB License DPCDPO1025070-2018-03
Sign In or Register to comment.