I got this error while trying to access my shopping basket on the bigdogs.com website. I'm trying to find out how to make it work. The whole thing reads:
Microsoft OLE DB Provider for ODBC Drivers error '80040e31'
[Microsoft][ODBC SQL Server Driver]Timeout expired
D:\INETPUB\WWWROOT\BIGDOGS\SHOPPING\../functions/data_access.asp, line 39
I'm trying to find out where I can input the error code 80040e31 on the Microsoft site to figure out how to fix it. What's the deal? lol
Here's a list of OLE DB errors and their explanation - http://msdn.microsoft.com/en-us/library/ms171852.aspx
Check out the return codes from ICommand::Execute - http://msdn.microsoft.com/en-us/library/ms718095(VS.85).aspx
DB_E_ABORTLIMITREACHED is returned when time-out occurs. Basically, your SQL Server did not respond within timeout specified on the command. This timeout is controlled by DBPROP_COMMANDTIMEOUT property (http://msdn.microsoft.com/en-us/library/ms712980(VS.85).aspx)
There are a few ways to solve your problem:
- Understand why your SQL Server doesn't respond within the time-out. Investigate what query is timing out and why. Analyze concurrency and resource locking. If you do a simple query, ensure that this table is not locked by any other transaction. Etc...
- Increase the time-out on the client (set this property value to 45 seconds). Don't think this will satisfy your users but still an option.