System.ComponentModel.Win32Exception:等待操作超时错误

时间:2021-01-21 13:24:51

标签: asp.net vb.net

当前收到错误 System.ComponentModel.Win32Exception:等待操作超时

我尝试在 IIS 的配置编辑器中增加 executionTimeout 属性,并在代码中添加 conn.ConnectionTimeout = 200 , conn.commandtimeout= 200 ,我收到错误属性“ConnectionTimeout”为“ReadOnly”。

编译器错误消息:BC30526:属性“ConnectionTimeout”为“ReadOnly”。

我需要把连接和命令超时放在哪里?

Dim conn As New SqlConnection("server=xxx; database=xxx; user ID = xxx; Connect Timeout=30")
    
        Dim sqlconna As New SqlCommand
        sqlconna.Connection = conn
        Dim ds As New DataSet
        Dim adapter As New SqlDataAdapter
        cmdStringinv = "EXEC myquery "

      Dim cmdb As New SqlCommand(cmdStringinv, conn)
    
    
      conn.Open()
    
      adapter.SelectCommand = cmdb

      adapter.Fill(ds, "Part")
      maxrows = ds.Tables("Part").Rows.Count

1 个答案:

答案 0 :(得分:0)

您应该将数据库对象包含在 Using 块中。您声明 sqlconna 但从不使用它。您的代码显示没有使用 DataSetDataAdapter。如果您只需要 Count,请使用 .ExecuteScalar。您首先提到的错误听起来不像数据库错误。这段代码是异步运行的吗?无论如何,这是我对您提供的代码的解释。

Private Function GetRowCount() As Long
    Dim maxrows As Long
    Using conn As New SqlConnection("server=xxx; database=xxx; user ID = xxx;"),
            cmdb As New SqlCommand("Select Count(*) From SomeTable;", conn)
        conn.Open()
        maxrows = CLng(cmdb.ExecuteScalar)
    End Using
    Return maxrows
End Function
相关问题