执行时出现ODBC命令错误SQL0666错误

时间:2015-10-08 15:11:18

标签: c# asp.net-mvc odbc

我正在运行使用OdbcCommand的ASP.NET 4.0应用程序。默认情况下,命令超时为30秒。当我运行我的网页时,我使用" SQL0666-SQL查询的查询错误超出了指定的时间限制或存储限制。"错误。执行读取器行在执行时不到2秒就会失败,远远低于命令超时。我添加了一行来将CommandTimeout设置为300秒并执行代码。执行读取器运行,整个页面在15秒内加载,再次远小于命令超时值。如果我运行更改我添加的行以将命令超时设置为30秒,代码错误在2秒内出现与上面相同的错误。查询本身只有大约15行,并且可以在几秒钟内在IDE中运行。

原始代码,错误时间不到两秒

using (IDataReader reader = this._commandExecuter.ExecuteReader(cmdData))
{
     //do stuff
}

在15秒内运行的代码:

cmdData.CommandTimeout = 300;
using (IDataReader reader = this._commandExecuter.ExecuteReader(cmdData))
{
     //do stuff
}

在不到2秒的时间内编码错误:

 cmdData.CommandTimeout = 30;
using (IDataReader reader = this._commandExecuter.ExecuteReader(cmdData))
{
     //do stuff
}

以前有人遇到过这个问题吗?除了将超时设置为有效的值之外,您是否找到了解决方案?

1 个答案:

答案 0 :(得分:0)

我有时会遇到类似的问题,我们将超时设置为零来修复:

cmdData.CommandTimeout = 0;