【问题标题】:To increase the timeout period增加超时时间
【发布时间】:2010-10-31 06:23:35
【问题描述】:

我必须增加超时时间。以下是我的代码。

Private Function GetConnectionInstance() As SqlConnection
    Dim objConn As SqlConnection
    Dim strConnection As String
    strConnection = ConfigurationSettings.AppSettings("conn")

    Try
        objConn = New SqlConnection(strConnection)
    Catch ex As Exception
    End Try

    Return objConn
End Function

我必须在上面添加什么代码来增加超时时间。

【问题讨论】:

  • 也代替 Try/Catch 使用 Using。如果在这两种情况下,它将关闭您的连接:异常或代码结束后
  • 你是指连接数据库的超时时间还是每次查询执行的超时时间?
  • @abatishchev,虽然使用 'using' 通常是一个不错的建议,但在这种情况下,它不起作用,因为 SqlConnection 对象是从方法中返回的。

标签: .net asp.net vb.net ado.net


【解决方案1】:

您需要将下一项添加到您的连接字符串中:

连接超时=30;

如果您只需要更改目标连接的超时时间,而不是整个应用程序,请执行下一步:

Dim connString as String = ConfigurationSettings.AppSettings("conn")
Dim builder As New SqlConnectionStringBuilder(connString)
builder.ConnectTimeout = 30;
Dim connection = New SqlConnection(builder.ToString())

【讨论】:

【解决方案2】:

尝试以下操作:

objConn.ConnectionTimeout = 600

您可以在 SqlCommand 上设置 CommandTimeout,而不是在连接上设置:

objCmd.CommandTimeout = 600

【讨论】:

【解决方案3】:

您可以通过添加“Connection Timeout = 30”来更改连接字符串。默认为 15,以秒为单位。然而重要的是要知道超时实际发生的位置。你应该检查这个主题:Timeout not being honoured in connection string

【讨论】:

    【解决方案4】:

    我发现这个问题的答案实际上并不是超时,这是因为 SqlConnection 对象没有在循环中关闭。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 2023-03-20
      • 1970-01-01
      • 2014-10-22
      • 2019-07-11
      • 2014-04-16
      • 1970-01-01
      相关资源
      最近更新 更多