BUG: Timeout Expired Error Occurs When You Click the Orders Option and Have a Large Transactions Database (296299)



The information in this article applies to:

  • Microsoft Commerce Server 2002
  • Microsoft Commerce Server 2000

This article was previously published under Q296299

SYMPTOMS

When a user attempts to view their order, it may take a long time to return their order information. If the timeout expires before the order is returned to the client, the user receives the following error message:
Error Type: Microsoft OLE DB Provider for SQL Server (0x80040E31)
Timeout expired
/retail/services/include/requisition.asp, line 127
Browser Type: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
Page: GET /retail/services/customer/orders.asp
Time: Sunday, November 12, 2000, 6:08:35 PM

CAUSE

This error message can occur when the UserGroup table in the Commerce database is too large and no index exists for the user_id column.

RESOLUTION

An index is needed in the user_id column of the OrderGroup table. To add an index in the user_id column, follow these steps:
  1. Open the SQL Server Enterprise Manager.
  2. Click to expand the Commerce database and tables.
  3. Right-click the OrderGroup table, and then click Design Table from the menu.
  4. Click the Table and Index Properties icon on the tool bar.
  5. Click the Indexes/Keys tab.
  6. If you want, you can provide an index name.
  7. Select the user_id column to be indexed.
  8. Click New, and then click Close.

STATUS

Microsoft has confirmed that this is a problem in Commerce Server 2000.

MORE INFORMATION

Without a proper index, a query for a user's order is slower when a large OrderGroup table exists. By default, no index exists on the OrderGroup table's user_id column. This can be verified by checking the properties of the OrderGroup table.

Modification Type:MajorLast Reviewed:10/22/2003
Keywords:kbbug kbpending KB296299