2014-04-09 112 views
-1

如果我在ADO.Net连接中设置TimeOut = 10,SqlCommandTimeout = 100,如果我的查询需要10秒以上的时间,比如说50秒,我会得到返回结果还是会发生连接超时?ADO .Net/C#数据库连接池

+0

你试过了吗?结果是什么? –

+0

对不起,但如果您的查询需要50秒,您需要修复查询 – meda

+0

有一些有效的方案。说在大量数据库运行时,非工作时间内的后端预定作业是可能的。这可以从报告引擎调用以发送自动报告。但我同意。一些查询调优可以完成。 – thangamanikasi

回答

0

在ADO.Net中有几个超时。 有一个TimeOut用于连接尝试(即等待连​​接到数据库的连接需要多长时间), 和TimeOut用于命令执行(即多少时间等待命令执行并返回它的结果)

我不知道你写的第一个TimeOut是什么,但SqlCommandTimeout是等待sql命令执行的秒数。因此你应该得到一个结果,因为你指定的时间超出了实际命令的运行时间。

0

如果连接成功,结果将会出现。 TimeOut是连接超时。 (连接到SQL Server所需的时间)。一旦连接成功,如果查询开始执行50秒,它将返回结果,因为SQL命令超时为100秒。