Dear all,
I’m running CyberTracker (v. 3.515) with an MS SQL Server backend. When I try to save minor changes (e. g., activating a filter of a query, changing one letter in a text field), the process takes some time and ends up with an error message about query timeout expired.
I’ve observed the network activity in the task manager during the saving process. First a lot of downloading happens (seems to be the whole database of aubout 150 MB). Then there is a break before the upload starts. The upload runs for about 40 seconds (about 50 MB), then it stops and the error message comes up. The phases of network traffic correspond with the progress bar in CyberTracker.
Is there a way to increase the query timeout vlalue in CyberTracker? As I found, it is not possible on the SQL Server for incomming commands.
Cheers,
Michael
Hi Michael,
Unfortunately this is due to the design of the database – many changes (excluding sighting changes) will result in a full database save. I am surprised this is taking so long on a modern database. A search turned up a few links which might be of interest to you: https://www.google.com/search?q=MSSQL+extend+query+timeout.
Cheers,
-Justin
Hi Justin,
thank you for the information. I already did a search on this topic and the result is that the query timeout value has to be set by the client.
I’m working from home at the moment where I have an upload speed of about 10 MBit/s. So, a maximum of about 50 MB can be uploaded in the observed time. Back in the office I will have a higher upload speed. I will then check if the saving operation will be completed in the available time or how much data is transfered before a timeout happens. Unfortunately our rangers are all working from outside our network connected via VPN with a maximum upload speed of 10 MBit/s . This is enough for data upload from the smartphones. But it will not be possible for them to work with the desktop application and save their results.
So I will have to look how to go on.
Cheers
Michael
Hi Michael,
The connection string (which is in the EDB file) looks like it can contain the timeout:
What is “Connect Timeout” in sql server connection string? - Stack Overflow
Could you see if adjusting that helps?
Cheers,
-Justin
Hi Justin,
adding a ConnectTimeout in the connection string doesn’t help because “That is the timeout to create the connection, NOT a timeout for commands executed over that connection.” Actually I tried this before and found that it has no effect on the query timeout. This timeout has to be set e.g. via the CommandTimeout property of the SqlCommand object of C# or the ADODB.Command object in VB. If you want it to be editable by the user, it has to be set in a configuration file (e.g., CyberTracker\System\Settings\Settings.xml), and the CyberTracker application has to be modified that way, that the CommandTimeout value is read from that file.
Cheers
Michael
Hi Michael,
I have sent you a private build of 3.516. If that works for you, then I can roll that into the next build.
Cheers,
-Justin