当前收到错误 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
答案 0 :(得分:0)
您应该将数据库对象包含在 Using
块中。您声明 sqlconn
a 但从不使用它。您的代码显示没有使用 DataSet
或 DataAdapter
。如果您只需要 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