现在的位置: 首页 > 综合 > 正文

“超时时间已到。在操作完成之前超时时间已过或服务器未响应”解决办法

2013年11月12日 ⁄ 综合 ⁄ 共 999字 ⁄ 字号 评论关闭

报错:“超时时间已到。在操作完成之前超时时间已过或服务器未响应”  解决办法如下:   

         using (SqlConnection connection = new SqlConnection(connectionString))
            {
                DataSet dataSet = new DataSet();
                connection.Open();
                SqlDataAdapter sqlDA = new SqlDataAdapter();
                sqlDA.SelectCommand = BuildQueryCommand(connection, storedProcName, parameters);
                sqlDA.SelectCommand.CommandTimeout = 3600;//设置超时时间
                sqlDA.Fill(dataSet, tableName);
                connection.Close();
                return dataSet;
            } 

 

CommandTimeout:指示在终止尝试和产生错误之前执行命令期间需等待的时间。

设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默认值为 30。

说明

Connection 对象或 Command 上的 CommandTimeout 属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消 Execute 方法调用。如果在 CommandTimeout 属性中设置的时间间隔内没有完成命令执行,将产生错误,然后 ADO 将取消该命令。如果将该属性设置为零,ADO 将无限期等待直到命令执行完毕。请确保正在写入代码的提供者和数据源支持 CommandTimeout 功能。

Connection 对象的 CommandTimeout 设置不会对相同 Connection 上 Command 对象的 CommandTimeout 设置产生影响,即 Command 对象的 CommandTimeout 属性不继承 Connection 对象的 CommandTimeout 的值。

在 Connection 对象上,打开 Connection 后,CommandTimeout 属性将保持读/写。

抱歉!评论已关闭.