每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的。以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种:
'''
当从连接池获取一个连接时,碰到超时。
当建立一个全新连接(而不是从连接池获取)时,碰到超时。
当发送一个命令(command)到SQL Server时,超时。
当发送命令(连接字符串带有“context connection=true”属性)到SQL Server时,超时。
当不是显示的发送一个命令(implicitly)到SQL Server时,碰到超时。
当执行异步命令时,(BeginExecute)碰到超时。
当从服务器端,获取行时,碰到超时。
当用Bulk copy方式,上传数据时,碰到超时。
'''
这些超时主要是通过连接字符串中的Connect Timeout和SqlCommand.CommandTimeout来进行控制。前面两种是登录超时由Connection Timeout来决定什么时候超时,后面几种是命令超时由Command Timeout来决定什么时候超时。

SqlConnection.ConnectionTimeout :

  1. 说明: 获取在尝试建立连接时终止尝试并生成错误之前所等待的时间。
  2. 默认值:等待连接打开的时间(以秒为单位)。默认值为 15 秒。
  3. 备注:值 0 指示无限制
  4. 只读

SqlCommand.CommandTimeout

  1. 说明:获取或设置在终止执行命令的尝试并生成错误之前的等待时间。
  2. 默认值:等待命令执行的时间(以秒为单位)。默认为 30 秒。
  3. 备注:值 0 指示无限制,在 CommandTimeout 中应避免值 0,否则会无限期地等待执行命令。
  4. 可读可写

特别注意:
"超时时间已到。在操作完成之前超时时间已过或服务器未响应"
类似这种错误,一般是 SqlCommand.CommandTimeout 或者 SqlBulkCopy.BulkCopyTimeout 的时间超时, 而不是 SqlConnection.ConnectionTimeout。

connection timeout 和command timeout的更多相关文章

  1. ADO.NET的Connection Timeout和Command Timeout (转载)

    每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种:当从连接池获取一个连接时,碰到超时.当建立 ...

  2. [C#.net]Connection Timeout和Command Timeout

    每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种: 当从连接池获取一个连接时,碰到超时. 当 ...

  3. Connection Timeout和Command Timeout

    每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种: 当从连接池获取一个连接时,碰到超时. 当 ...

  4. SQLSERVER:Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.

    背景: 在最近开发中遇到一个问题,对一个数据库进行操作时,我采用64个并行的任务每个任务保证一个数据库连接对象:但是每个任务内部均包含有24个文件需要读取,在读取文件之后,我们需要快速将这24个文件批 ...

  5. Connection open error . Connection Timeout Expired. The timeout period elapsed during the post-login phase.

    是这样的,最近我在开发Api(重构),用的数据库是Sqlserver,使用的Orm是 SqlSugar(别问我为什么选这个,boss选的同时我也想支持国人写的东西,且文档也很全). 被催的是,写好了程 ...

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

    今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" ...

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

    今天碰到了一个查询异常问题,上网查了一下,感谢原创和译者 如果你使用的数据库连接类是 the Data Access Application Blocks "SqlHelper" ...

  8. SSRS 2008 R2 错误:Timeout expired. The timeout period

    今天遇到了Reporting Services(SQL SERVER 2008 R2)的报表执行异常情况,报表加载数据很长时间都没有响应,最后报"An error occurred with ...

  9. hadoop创建两大错误:Bad connection to FS. command aborted. exception和Shutting down NameNod...

    我的hadoop启动后,各个节点都正常,但是无法查看hdfs目录,错误提示 Bad connection to FS. command aborted.  查了下网上的解决办法,主要是删除tmp下的所 ...

随机推荐

  1. C项目实践--学生成绩管理系统

    1.功能需求分析 学生成绩管理系统是对学生基本信息及成绩的管理.本程序主要实现了对学生的学号.姓名等基本信息以及各项学科成绩进行增加.删除.修改.查询和保存到磁盘文件等操作.主要功能描述如下: (1) ...

  2. VA市场高烧已退,逐渐降温

    本周市场国产VA报价在175元/公斤左右,较上周滑落.因前期停报的厂家均已报价,个别国产厂家报价较低,各厂家间报价价差较大,彰显不同态度.国内厂家供应依然偏紧,但较前期已缓解.中小饲料企业库存偏低,近 ...

  3. linux网络socket 接口转

    linux网络socket 接口 1.socket函数:一个进程必须做的第一件事就是调用socket函数获得一个文件描述符. ------------------------------------- ...

  4. html页面缓存问题

    若IIS没有设置,html页面一旦缓存,则永远缓存. Chrome如下 火狐如下 一种方法:我们一般通过xxx.html?20151010这样URL欺骗浏览器. 另一种方法:设置IIS,让永远客户端不 ...

  5. idea新建springmvc+spring+mybaties项目2

    1,项目创建完成后,src-main下建立java目录后,是无法在该目录下创建新的包和java类等文件的.在idea中需要对目录进行标注 Sources 一般用于标注类似 src 这种可编译目录.有时 ...

  6. maven目录结构介绍篇

    bin  该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath喝相关的java系统属性 mvn是基于UNIX平台shell脚本,mvn.bat是基于Windows平台的 ...

  7. bzoj-1192 [HNOI2006]鬼谷子的钱袋(水题)

    题目链接: [HNOI2006]鬼谷子的钱袋 Time Limit: 10 Sec  Memory Limit: 162 MB Description 鬼谷子非常聪明,正因为这样,他非常繁忙,经常有各 ...

  8. bzoj1007 [HNOI2008]水平可见直线——单调栈

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1007 可以把直线按斜率从小到大排序,用单调栈维护,判断新直线与栈顶的交点和栈顶与它之前直线的 ...

  9. 二、Log4j基本使用方法

    转自:https://blog.csdn.net/luohai859/article/details/52250807 Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息 ...

  10. javascript判断页面是否在移动设备上打开

    var ua = navigator.userAgent; var ipad = ua.match(/(iPad).*OS\s([\d_]+)/), isIphone =!ipad && ...