`
king_c
  • 浏览: 222772 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Timeout expired. The timeout period elapsed prior ..

 
阅读更多

关于这个问题,要注意 打开数据库的字符串   是否打开后关闭没有 如果打开后没有关闭而重复操作就会出现这个情况

就数据库没有关闭造成的,我的程序开始也出现这种情况,网上查了些资料设置什么时间,没解决,结果发现有数据库打开了,没关闭,关闭后问题解决了。

Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.


如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" 或者 SqlClient Class , 你在执行一个很费时的SQL 操作时候,可能就会碰到下面的超时异常。

---------------------------

---------------------------
Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
---------------------------
OK  
---------------------------

你会说,我在连接字符串中已经 设置了 Connect Timeout=80000 ,并且数据库中超时连接也是设置的值是一个很大的值。为啥到了30秒,仍然超时了呢??

这是因为:
你的设置并没有问题,是你混淆了 SqlCommand.CommandTimeout 和 SqlConnection.ConnectionTimeout 这两个的区别了。
你的连接字符串中的超时只是设置的 SqlConnection.ConnectionTimeout 的值,而不是设置的 SqlCommand.CommandTimeout 的值。
SqlHelper 中并没有 SqlCommand.CommandTimeout 的相关设置。需要你自己设置。

下面是两个的比较:

SqlCommand.CommandTimeout
获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
等待命令执行的时间(以秒为单位)。默认为 30 秒。


SqlConnection.ConnectionTimeout
获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
等待连接打开的时间(以秒为单位)。默认值为 15 秒。

一些更详细的对这个问题的描述看:
http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=357

这个问题可以算是 SqlHelper 设计的时候,一个考虑不周的地方吧。
SqlCommand.CommandTimeout 的默认值是30,对于我写的大多数程序来说,这个值足够了。所以一直都没有发现SqlHelper的这个问题。今天在查本地一台比较差的机子上生成一个超长帖子(近4000个回复)无响应的问题时候,才发现SQLHelper 存在的这个问题。

分享到:
评论

相关推荐

    SQL Server 2008 MICTS 70-432 Exam

    标题中的"SQL Server 2008 MICTS 70-432 Exam"指的是微软认证技术专家(MICTS)在SQL Server 2008数据库管理方面的考试,其考试代码为70-432。这个考试是针对那些希望证明自己在SQL Server 2008中执行数据库维护、...

    完美解决MyEclipse过期

    完美解决MyEclipse提示过期Your 30-day trial of MyEclipse has expired.

    C#百万数据查询出现超时问题的解决方法

    可以调整连接字符串中的`Connection Lifetime`属性来延长这个时间。此外,`Max Pool Size`和`Min Pool Size`分别控制最大和最小的连接池大小,合理设置可以提高性能。 6. **利用分页查询**: 对于大量数据,使用...

    Android 锁屏页面避免被杀掉,解锁会自动关闭页面。防止后台运行时被关闭。

    在Android开发中,保持应用程序在锁屏状态下不被系统优化机制清理,并且在用户解锁后能够自动关闭特定页面,是一项常见的需求。这涉及到Android系统的进程管理、权限控制以及活动生命周期管理等多个方面。...

    SQLServer2008R2SP3-KB2979597-x64-CHS

    数据库SP3插件,可解决容器中应用连接window 下mssql 2008R2 超时问题,错误提示如下(Connection Timeout Expired. The timeout period elapsed during the post-login phase),下载安装即可

    ERROR 1862 (HY000): Your password has expired. To log in you must change it using a …..

    ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords 出现问题原因: 可能是你在安装 MySQL过程中,通过mysqld –initialize 初始化 ...

    PowerDesigner16.5.0.3982破解补丁

    PowerDesigner16.5.0.3982版本破解补丁 PowerDesigner16.5.0.3982下载地址: http://download.sybase.com/eval/PowerDesigner/PowerDesigner165_Evaluation.exe 将补丁复制到安装目录下

    ERROR 1862 (HY000): Your password has expired. To log in you must change it using a .....

    在MySQL的使用过程中,有时会遇到“ERROR 1862 (HY000): Your password has expired. To log in you must change it using a client that supports expired passwords”这样的错误提示,这表明你的MySQL密码已经过期...

    EF连接MySql 5.7存在的坑

    1.选择EF版本,弹出Your project references the latest version of EF;however,an EF database provider compatible with this version could not be found for your data connnection... 2.选择EF6.x之后,选择...

    PowerDesigner16.5激活

    直接将文件解压,放入PowerDesigner安装根目录即可

    Modbus Poll version 6.1.1 Build 835

    Re-starting the application will initiate another 10-minutes demonstration period. After 30 days it is not possible to make a connection. The license key is valid for both versions.

    Flink无法获取Kafka Topic Metadata异常及解决.docx

    在使用 Kafka 0.11.0.1 和 Flink 1.4 进行实时计算时,Flink 无法获取 Kafka Topic Metadata,报以下异常:org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata。...

    ireasoning mib browser license expired 解决办法!

    ### ireasoning mib browser License Expired 解决办法 #### ireasoning mib browser简介 ireasoning mib browser是一款非常实用的MIB(Management Information Base)浏览器工具,广泛应用于网络管理和监控领域。...

    VISUALSVN过期解决办法

    使用方法请看压缩包中的说明文件。。。。。。。。。。。。。。。。。。。

    ORA-28001 the password has expired密码过期.docx

    在Oracle数据库管理中,"ORA-28001 the password has expired" 是一个常见的错误,它表明数据库用户的密码已经超过了预设的有效期限,导致用户无法正常登录。这个错误主要出现在Oracle 11G及更高版本中,因为这些...

    TongWeb常见问题处理指南

    《TongWeb常见问题处理指南》是一份针对TongWeb使用过程中可能出现的问题及解决方法的详细文档。TongWeb是一款高性能、高可用的企业级应用服务器,广泛应用于各种业务场景。以下将详细介绍其中涉及的主要知识点: ...

    TeeChart8+_ActiveX 破解版(带源码)

    (pudn下载下来,之前下载的pro8到期提示“the evaluation version of teechar pro has expired”,导致程序无法正常使用,不得已花钱在pudn下载了一个,注册后完美运行,里面包含了TeeChartx8Tutorials.chm帮助文件...

    GR-2834-CORE

    LICENSE HAS NOW EXPIRED. THE USE OF THIS NAME DOES NOT SUGGEST THAT TELCORDIA TECHNOLOGIES HAS LICENSED THE NAMES BELL, BELL COMMUNICATIONS RESEARCH, OR BELLCORE FOR NEW USES OR THAT THE OWNERS OF THE...

    Loadrunner Timeout问题解决方法.docx

    Timeout-27728错误是LoadRunner在执行HTTP协议脚本时常见的一个异常,具体表现为"Error -27728: Step download timeout (120 seconds) has expired when downloading non-resource(s)"。这个错误意味着脚本中的某个...

    Navicat for MYSQL

    标题中的“Navicat for MYSQL”是指一个名为Navicat的数据库管理工具,专用于连接和管理MySQL数据库。Navicat提供了一个图形化的界面,让用户能够更方便地执行SQL查询、管理数据库对象以及进行数据迁移。...

Global site tag (gtag.js) - Google Analytics