Dim oConnString As String
Dim strQuery As String
Dim myConn As SqlConnection
Dim myCmd As SqlCommand
Dim myReader As SqlDataReader
Dim results As String
oConnString = "Data Source=" + strServerName + "; Database='" + strDatabaseName + "';Integrated Security=true"
Dim oConnection As SqlConnection = New SqlConnection(oConnString)
strQuery = "SELECT * from Usertable"
myCmd = oConnection.CreateCommand
myCmd.CommandText = strQuery
oConnection.Open()
myReader = myCmd.ExecuteReader()
'Some codes here'
myReader.Close()
myConn.Close()
'============================================== =============================================== 对这个错误有什么想法吗? 我在处理“myReader = myCmd.ExecuteReader()”这一行时遇到错误 错误: “抛出异常:System.Data.dll 中的‘System.Data.SqlClient.SqlException’ 附加信息:执行超时已过期。在操作完成之前超时时间已过或服务器没有响应。”
我期待阅读数据库中的所有专栏。
看起来您的查询在完成之前就超时了。您可以通过在 sql 字符串中设置 wait_timeout 来即时增加超时时间。
对于 mySQL,这会将超时时间设置为 300 秒
strQuery = "SET SESSION wait_timeout=300;SELECT * from Usertable"
对于 SQL Server,将连接超时参数添加到连接字符串中。
oConnString = "Data Source=" + strServerName + "; Database='" + strDatabaseName + "';Integrated Security=true;Connection Timeout=300;"
尝试设置命令超时
myCmd.CommandTimeout = 5*60 '5 min
从读取器获取数据表:
Dim myReader = cmd.ExecuteReader()
Dim dataTable = New DataTable()
dataTable.Load(myReader)