There are a few things that can be checked in the db’s. In the Sage Estimates catalog Security.ChangeSubscription table, make sure they have some data in there rather than being empty. It should look like this:



If there’s data there, check the Security.ChangeNotification table. That would likely have a buildup of data if Sage has been generating notifications and Navigator isn’t processing them.  Run this query to see how many records have built up there: SELECT COUNT(*) FROM [Security].[ChangeNotification]. If there’s a bunch, we may want to clear them out once we get this figured out just so they can start clean.


If both of those tables have data, we’ll have to figure out why Nav can’t process the notifications. Make sure the app.config has the SageEventCheckInterval set to something other than 0:

<add key="SageEventCheckInterval" value="5"/>

See EosGroup.GT.Navigator.exe.config:


    <add key="SecurityServiceType" value="EosGroup.Core.Security.ActiveDirectory" />

    <add key="SecurityServiceUseEmbeddedSampleData" value="true" />

    <add key="SecurityServiceShowLoginDialog" value="true" />

    <add key="currentUser" value="S-1-5-21-2395777982-114320699-3374426020-500" />

    <add key="SageEventCheckInterval" value="15" />



In the Navigator database, check to see what is in the Core.SageServer and Core.SageEstimateDatabase tables. There should be 1 record in each and should be pointing to their Sage db. Also, make sure the Core.SageEstimateDatabase row has an EventListenerUserName (default is SageEstimatingEventListener) and EventListenerPassword (default is z7CRAUJCCgz6IJicpYzpxflR3c5p4EPAc+YFWBOu6eOZxPTRUVzLEu/b8zIwmIVZE3olI96IG2w2xmrzLyuYdTVthD73zpo5ODjM0zzV8YE=). The Security.ChangeNotification table is locked down to just that SageEstimatingEventListener user so when we process the notifications, we use that user in the connection string. To verify that user is set up and active in their Sage db, try to connect to the Sage instance as that user in SQL Server Management Studio. The Login name is SageEstimatingEventListener and the password is D5BF3141-BC87-4322-9CDD-5C98B62989D8 by default (if the encrypted password doesn’t match what’s above, we’ll have to decrypt it). If the connection is successful, you should be able to open the Sage Estimates database and you’ll just see the 2 tables that user has access to:



If all that is looking good, a log file for one of their users that has made changes in Sage would be helpful. The listener is logging errors in the background so that could tell us something as well.