连接字符串中的超时不被遵守
问题描述:
我有一个长时间运行的SQL语句,我想要运行,无论我放在连接字符串的“timeout =”子句中,它总是在30秒后结束。连接字符串中的超时不被遵守
我只是用SqlHelper.ExecuteNonQuery()
执行它,并让它照顾打开连接的,等
有别的可能被重写我的超时,或导致SQL服务器忽略它?我在查询上运行了分析器,当我在管理工作室中运行它时,跟踪与我的代码相比没有任何区别。
Management Studio在大约一分钟内完成查询,但即使超时设置为300或30000,我的代码在30秒后仍然超时。
答
你用什么来设置连接字符串的超时时间?从“ConnectionTimeout”的内存中,仅影响实际需要的时间将连接到服务器。
每个单独的命令有一个单独的“CommandTimeout”,这将是你在找什么。不知道SqlHelper如何实现。
答
除连接字符串超时之外,尝试使用SQL命令的timeout属性。下面是一个C#示例,使用SqlCommand类。它的等价物应该适用于你正在使用的东西。
SqlCommand command = new SqlCommand(sqlQuery, _Database.Connection);
command.CommandTimeout = 0;
int rows = command.ExecuteNonQuery();
很明显!但是,这并没有阻止我浪费两个小时错过了答案......谢谢! – Aaron 2009-04-16 19:44:59