我有一个长时间运行的SQL语句要执行,无论我在连接字符串的"timeout="子句中放入什么,它似乎总是在30秒后结束。
我只是使用SqlHelper.ExecuteNonQuery()
来执行它,并让它负责打开连接等操作。
是否有其他东西可以覆盖我的超时,或者导致sql服务器忽略它?我已经在查询上运行了分析器,当我在管理工作室和代码中运行它时,跟踪看起来没有任何不同。
管理工作室大约在一分钟内完成查询,但即使设置超时为300或30000,我的代码仍然在30秒后超时。
我有一个长时间运行的SQL语句要执行,无论我在连接字符串的"timeout="子句中放入什么,它似乎总是在30秒后结束。
我只是使用SqlHelper.ExecuteNonQuery()
来执行它,并让它负责打开连接等操作。
是否有其他东西可以覆盖我的超时,或者导致sql服务器忽略它?我已经在查询上运行了分析器,当我在管理工作室和代码中运行它时,跟踪看起来没有任何不同。
管理工作室大约在一分钟内完成查询,但即使设置超时为300或30000,我的代码仍然在30秒后超时。
除了在连接字符串中设置超时时间外,尝试使用SQL命令的超时属性。以下是一个使用SqlCommand类的C#示例,它的等效应该适用于您正在使用的内容。
SqlCommand command = new SqlCommand(sqlQuery, _Database.Connection);
command.CommandTimeout = 0;
int rows = command.ExecuteNonQuery();