【问题标题】:connect timeout=0???? what about? timeout value expired with 1500连接超时=0???关于什么?超时值过期 1500
【发布时间】:2012-04-13 08:35:38
【问题描述】:
System.Data.SqlClient.SqlConnection conec = new System.Data.SqlClient.SqlConnection("data source=" + servidor + "; initial catalog=" + basedatos + "; user id=" + usuario + "; password=" + contra + "; Connect Timeout=1500;  Packet Size=32767; ");

这是我的联系,但我得到了timeout value expired 我将其更改为 0 并收到相同的消息 但是当我把它改成我的sqlcommand

System.Data.SqlClient.SqlCommand comando = new System.Data.SqlClient.SqlCommand(consulta, conexion);
            comando.CommandTimeout = 0;

它工作正常,如果我的连接字符串中有 0,为什么它不工作?什么是 区别?我听说过连接寿命,但我不知道。

【问题讨论】:

  • 设置连接超时不影响命令超时。

标签: c# sql-server-2005 timeout connection connection-string


【解决方案1】:

尝试使用:

Connection Timeout=1500

代替:

Connect Timeout=1500

(来自documentation。)

【讨论】:

  • 这实际上并不能解决 OP 遇到的问题。正如您提供的文档所述,“在尝试建立连接时等待时间,然后终止尝试并生成错误”。 OP 正在寻找一种方法来避免在执行命令时(Joe 的答案解决了这个问题)而不是在连接到数据库时连接超时。
【解决方案2】:

您可以在连接字符串中设置连接超时,即建立连接时等待的最长时间。

您不能在连接字符串中设置 CommandTimeout,即命令完成执行的最长时间:这必须在代码中设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-30
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2020-08-30
    • 1970-01-01
    相关资源
    最近更新 更多