Table of Contents

Error Message

Cyrious Control has encountered the following error:

The following error(s) have occurred while committing SQL transaction(s):

0:

An error has occurred while executing queries.

Timeout expired

View SQLError file for full details.

Explanation of Error

This error can occur at almost any time, but occurs most commonly when attempting to create/edit/delete orders, estimates, or customers, or other times of heavy datase activity.

The general cause of any “timeout” error is that SQL was unable to write your changes because some other system has a lock on those records. This error can cause the loss of data in the case of new orders, estimates, etc. or the loss of edits when dealing with existing records.

Severity

Normal. This error may result in the loss of new data or just be an annoyance while searching for information.

Possible Root Cause(s)

The most common causes of “timeout” errors (in order of priority) are:

  1. A report executed within Control (by that user or anyone else) is causing a lock to occur on the SQL tables. Within Crystal Reports, any SQL Command must explicitly tell the database to not lock the records being access (using the WITH(NOLOCK) directive). Otherwise, Crystal Reports will lock these records and any attempt by any user to save or update them will be blocked. Eventually, the other user will get a timeout error.
  2. The system resources of your server computer (memory and hard-drive space, for instance) may have been fully consumed by other applications or services which causes a timeout to occur due to Microsoft SQL Server's inability to process the task in the allowed period of time before the SQL timeout occurred.
  3. The database may have reached the maximum size allowed if you are using one of the free versions of SQL Server such as MSDE or an SQL Server Express.
  4. Another user may be performing a specific task in Control which has caused the SQL database tables to enter a locked state. When these tables enter a locked state all reads and writes to those tables are unsuccessful and can result in the error message received. Control only locks records when adding or removing database fields (during an update) so this is rarely the cause of the problem.

Resolution

Additional Information

It is possible in some cases to insert the data from the SQL timeout error back into the database. For example, if the user was in the process of saying a large estimate or order and encountered this error there is a chance you can recover that information for them. These steps are only recommended for users who have a thorough understanding of managing Microsoft SQL Server databases. Additionally, all users must exit what they are doing immediately until it is done.

\Control\Logs\Control_SQLError.txt

//INSERT INTO TransHeader ([SEQID],//

Version Information