Sql server 如何将超时参数传递给SQL数据库引擎
我正在运行一个查询,前两次超时,第三次返回结果Sql server 如何将超时参数传递给SQL数据库引擎,sql-server,sql-server-2005,tsql,Sql Server,Sql Server 2005,Tsql,我正在运行一个查询,前两次超时,第三次返回结果 如何告诉SQL Server等待查询完成,而不是超时?默认情况下,SqlCommand.CommandTimeout设置为30秒。您可以在执行查询之前分配更长的持续时间,或者设置为0表示无超时。(如果问题涉及.Net编程)您也可以在连接字符串中将其设置为连接范围。 “数据源=(本地);初始目录=AdventureWorks;集成安全=SSPI;连接超时=30”超时由客户端应用程序控制,而不是服务器。这是客户机愿意等待服务器响应的时间 用于访问数据库
如何告诉SQL Server等待查询完成,而不是超时?默认情况下,SqlCommand.CommandTimeout设置为30秒。您可以在执行查询之前分配更长的持续时间,或者设置为0表示无超时。(如果问题涉及.Net编程)您也可以在连接字符串中将其设置为连接范围。
“数据源=(本地);初始目录=AdventureWorks;集成安全=SSPI;连接超时=30”
超时由客户端应用程序控制,而不是服务器。这是客户机愿意等待服务器响应的时间
用于访问数据库的任何包都会在某个地方有一个超时值
例如,在使用ADODB的VBA中,可以按如下方式将超时设置为60秒:
Dim cn As ADODB.Connection
Set cn = new ADODB.Connection
cn.CommandTimeout = 60
正如Shane在上面指出的,您也可以在连接字符串中设置它
我认为您可以将其设置为0,这样它就永远不会超时,但不建议这样做,因为这意味着如果服务器挂起或数据库连接丢失,您的应用程序将永远等待。感谢shane的回答。德维奥的答案也很有效。也将更改“连接字符串超时”选项,并查看其工作原理。@Shane:连接超时是影响执行命令的超时,还是只影响打开连接的超时?我的错误-连接超时只是与数据库的初始连接的超时。谢谢你的礼貌。:)