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

Timeout 时间已到。在操作完成之前超时时间已过或服务器未响应。

 
阅读更多
Microsoft SQL Server 2008 R2   这是我使用的数据库。我是从接口中取到一个XML,然后将XMl传到存储过程中,在存储过程中针对XML进行操作。但是由于XML的数据量过大,因此会出现如标题一样的错误。 我百度了   看到网友说在连接字符串上写Connection Timeout=0;  我加了这个。我的sql连接字符串如下“server=service;UserID=sa;Password=123;database=test;Connection Timeout=0;Connection Reset=FALSE”

但是这样没有效果。所以求老鸟指教    看我这新手又是哪个步骤给丢了  求指教

最佳答案

你理解错了,Connection Timeout 是指等待连接打开的时间(以秒为单位)。默认值为 15 秒。

你现在的问题是连接已经成功了,并不是等待连接超时,你应该把那个异常给贴出来。

鉴于你提到存储过程执行周期较长,因此这里的超时是指的客户端等待服务器响应的超时,同Connection Timeout没有任何关系。

目前我还没找到如何控制TCP层面的超时设置,但是你可以尝试使用异步的方式来执行这个存储过程,在连接字符串中标记:Asynch = True,在调用时采用 BeginExecute 来执行你得存储过程。



你可以尝试用 SqlCommand.CommandTimeout 来设置超时。

在异步方法调用(如 BeginExecuteReader)过程中,CommandTimeout 属性将被忽略

因此上面两种方式应该都可以解决你的问题。

收获园豆:10

Launcher|高人七级|园豆:26930 | 2013-01-07 14:10
.



嗯     我的错误
已经解决了     是我理解错误了   我那个不是连接超时   而是执行的时间太长


备注


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



在连接字符串中使用 ConnectTimeout 或 Connection Timeout 关键字,可以设置某个连接等待超时的时间。值 0 指示无限制,在 ConnectionString 中应避免值 0,否则会无限期地等待连接尝试。



为0的时候是不受时间限制了。  我不知道是不是数据库的原因,在有的帖子上看到说sqlserver2008的时间是自动去设置的   我不知道是不是这个原因


-----------------------事务超时-----------------------------------




C#中分布式事务的超时处理问题
.
2012-09-05 11:48501人阅读评论(0)收藏举报

c#insert测试google微软


  事务是个很精妙的存在,我们在数据层、服务层、业务逻辑层等多处地方都会使用到。

      在这里我只说下TransactionScope这个微软推荐使用的隐式事务。它是从Framework 2.0开始引入的一个事务管理类,在使用隐式事务时,事务完成前 程序应调用TransactionScope的Complete()方法,将事务提交,然后利用Dispose()释放事务对象。若执行期间出现错误,事务将自动回滚。

   比如:
     using (ransactionScope scope = new TransactionScope())

     {

        //to do something

        scope.Complete();

     }

在这里个人建议用using来创建,因为using实现了IDispose接口,它会隐式的调用TransactionScope对象的Dispose方法,即使发生异常时也是如此,能确保在事务结束或者异常的时候也能正确的释放资源。其实我们反编译一下,它的内部实现就是一个try...finally代码块,这样也就不难理解using的作用了。

说主题,在某地市的某库升级中,为避免程序运行中产生脏数据以及数据更新不一致导致的重复同步情况,在可能产生上述问题的考虑下,我用这个TransactionScope来对上述的操作进行事务处理。在本机的测试环境中,运行结果是正常的,当然这个运行正常的前提是数据量较小的情况下,我每次只对一条或者十几条数据的不同表进行insert和update。然而部署到生产环境针对真实数据运行之后,发现这个事务总是回滚,一直无法正常提交。程序也就没法正常跑起来。因为生产环境中的数据有60W左右,insert一次、update一次,最后再insert一条同步语句,前2个操作都是比较耗时的。我切换回测试环境调试了一下,逐行运行,发现当执行完第一个insert之后,执行第二个update时发生异常了。这个异常由TransactionScope抛出,异常提示是:事务已中止。这个错误,在数据量小的情况下不会发生,数据量大一些就出现了,这个是不是和事务处理的时间长短有关呢?因为我明显感觉到在这次调试的时候,执行的时间比之前数据量只有一条的时候长了很多,至少花费1分钟以上。于是google一下,验证了我的想法。
        TransactionScope有些重载函数是可以接受TimeSpan类型的值,这个就是事务的超时时间了。当事务实现隔离的时候,事务范围内的资源将会被锁定,如果一些事务长期占有资源,那将很容易造成死锁,为了避免这个问题,TransactionScope事务会定义一个超时限制,这个超时默认值为60秒。如果事务超过此时间,即使没有发生异常,也会自动中止。上面问题的原因算是找到了,知道了原因,那么也就很好解决了。我们可以在Web.Config 中配置:
<configuration>


<system.transactions>

    <defaultSettings timeout="00:05:00" />

</system.transactions>

</configuration>



或者在using的时候就定义好超时时间:




using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required,
new TimeSpan(0, 5, 0)))

或者先初始化事物行为的附加信息,然后定义超时时间:



TransactionOptions tOpt = new TransactionOptions();

tOpt.IsolationLevel = IsolationLevel.ReadCommitted; //设置TransactionOptions模式

tOpt.Timeout = new TimeSpan(0, 5, 0); // 设置超时时间为5分钟                       
using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, tOpt))


我这里定义的是5分钟,其实整个过程处理起来也就第一次处理历史数据需要1到2分钟时间,以后每天只需处理几十条数据,这个时间基本是秒级别的。
       这里说明下, 超时时间如果设置为0时表示超时无限长。无限长的设置主要对调试有用,调试过程中可能要逐步通过代码来隔离业务逻辑中的问题,并且在尝试确定问题期间不希望所调试的事务超时。在所有其他情况下使用无限长的超时时一定要格外小心,因为它会覆盖防止事务死锁的保护。
分享到:
评论

相关推荐

    台州市乡镇边界,shp格式

    shp格式,可直接导入arcgis使用

    perl516-perl-Time-Piece-1.20.1-19.el6.centos.alt.x86_64.rpm

    perl516-perl-Time-Piece-1.20.1-19.el6.centos.alt.x86_64.rpm

    基于蒙特卡洛模拟的电动汽车接入对配电网影响研究:灵活容量预测、潮流计算与电压稳定性优化分析,基于蒙特卡洛法的电动汽车无序接入对配电网影响的分析 采用蒙特卡洛法对电动汽车的接入容量进行预测 再将预测

    基于蒙特卡洛模拟的电动汽车接入对配电网影响研究:灵活容量预测、潮流计算与电压稳定性优化分析,基于蒙特卡洛法的电动汽车无序接入对配电网影响的分析 采用蒙特卡洛法对电动汽车的接入容量进行预测 再将预测的结果接入IEEE33节点配电网 通过对配电网的潮流计算 得到接入前后对电网电压和网损的影响 这个接入的数目也是可以灵活改变的 这段程序主要是对一个电力系统进行潮流计算和优化。下面我将对程序的功能、应用领域、工作内容、主要思路进行详细解释。 1. 功能和应用领域: 这段程序的功能是对一个电力系统进行潮流计算和优化。潮流计算是电力系统中的一种重要分析方法,用于计算系统中各节点的电压幅值和相位角,以及各支路的功率损耗。优化是指对系统进行调整,以减小功率损耗、提高电压稳定性等方面的指标。这种潮流计算和优化在电力系统规划、运行和管理中具有重要的应用价值。 2. 工作内容: 这段程序包含了多个函数和主程序,下面将逐个进行解释。 - 主程序: - 清除工作区和命令窗口中的变量和数据。 - 从文件中加载负荷数据,并进行单位转。 - 调用函数`car

    蓄电池与超级电容混合储能系统仿真模型:功率分配与波动抑制研究,基于Matlab Simulink平台实现,结合低通滤波器与智能SOC管理策略,蓄电池与超级电容混合储能并网matlab simulink

    蓄电池与超级电容混合储能系统仿真模型:功率分配与波动抑制研究,基于Matlab Simulink平台实现,结合低通滤波器与智能SOC管理策略,蓄电池与超级电容混合储能并网matlab simulink仿真模型,混合储能采用低通滤波器进行功率分配,可有效抑制功率波动,并对超级电容的soc进行能量管理,soc较高时多放电,较低时少放电,soc较低时状态与其相反。 ,核心关键词:混合储能; MATLAB Simulink仿真模型; 功率分配; 低通滤波器; 功率波动抑制; 能量管理; 超级电容SOC; 蓄电池。,"混合储能系统:Matlab Simulink仿真模型中低通滤波器与SOC能量管理优化"

    医疗废物信息化管理系统建设方案

    该文档是医疗废物信息化管理系统建设方案,围绕医疗废物管理展开。先介绍政策历程,因医疗废物危害大,国家出台多项政策推动信息化管理。接着阐述建设背景,指出当前医废管理存在纸质单据缺陷、流程不规范等问题。随后详细说明解决方案,涵盖系统应用、业务流程等。功能设计部分分别介绍卫健委局端、医院端、处置公司的功能,如数据展示、医废采集入库出库、人员管理等,旨在实现医废精准管理、全程追溯和闭环监管。

    syslinux-perl-4.05-15.el7.x64-86.rpm.tar.gz

    1、文件内容:syslinux-perl-4.05-15.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/syslinux-perl-4.05-15.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    基于Matlab Simulink的单向Boost PFC与全桥LLC串联谐振开关电源仿真模型:2kw功率输出48V,谐振频率100kHz及输出电压闭环PFM控制,单向Boost PFC+全桥LLC

    基于Matlab Simulink的单向Boost PFC与全桥LLC串联谐振开关电源仿真模型:2kw功率输出48V,谐振频率100kHz及输出电压闭环PFM控制,单向Boost PFC+全桥LLC串联谐振开关电源Matlab simulink仿真模型 2kw功率,输出48V,谐振频率100k LLC使用输出电压闭环 PFM控制 ,核心关键词:单向Boost;PFC+全桥LLC;串联谐振开关电源;Matlab simulink仿真模型;2kw功率;输出48V;谐振频率100k;LLC输出电压闭环;PFM控制;,"Matlab Simulink仿真模型:2kW全桥LLC谐振电源的Boost-PFC研究"

    perl516-perl-File-Slurp-9999.19-10.el6.centos.alt.noarch.rpm

    perl516-perl-File-Slurp-9999.19-10.el6.centos.alt.noarch.rpm

    python项目实战之基于深度学习的电影评论情感分析源码+报告PDF

    python项目实战之基于深度学习的电影评论情感分析源码+报告PDF,个人大三设计项目、经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做课程设计大作业的学生和需要项目实战练习的学习者,可作为课程设计、期末大作业。 python项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度学习的电影评论情感分析源码+报告PDFpython项目实战之基于深度

    weixin079-springboot智能校园点餐管理系统设计(论文+PPT).zip

    标题SpringBoot智能校园点餐管理系统设计AI更换标题第1章引言介绍智能校园点餐管理系统的背景、意义以及本文的设计目标和主要内容。1.1研究背景与意义分析校园点餐的现状及问题,阐述智能点餐系统的必要性和优势。1.2设计目标与内容明确系统的设计目标,概述论文的主要研究内容和结构安排。第2章系统需求分析对智能校园点餐管理系统的功能需求和非功能需求进行详细分析。2.1功能需求分析列举系统应具备的各项功能,如菜品浏览、点餐、支付等。2.2非功能需求分析分析系统的性能、安全性、可靠性等非功能需求。第3章系统设计根据需求分析,设计系统的整体架构、功能模块和数据库。3.1系统架构设计设计系统的整体架构,包括前后端分离、微服务架构等。3.2功能模块设计详细设计系统的各个功能模块,如用户管理、菜品管理、订单管理等。3.3数据库设计设计系统的数据库结构,包括表结构、数据字典等。第4章系统实现阐述系统的具体实现过程,包括开发环境、技术选型、关键代码实现等。4.1开发环境与技术选型介绍系统的开发环境,选择合适的技术栈和工具。4.2关键代码实现展示系统关键功能的代码实现,如用户登录、菜品展示、订单生成等。

    基于改进Fi-GNN模型的CTR预估方法.pdf

    基于改进Fi-GNN模型的CTR预估方法.pdf

    MAKINO系列机床操作与维修设定指南:PRO3操作、V55维护、报警表及作业规范手册,MAKINO 牧野 PRO3 维修设定操作 A55 PRO3操作说明书 日文.pdf A55卧加工作台旋转后加

    MAKINO系列机床操作与维修设定指南:PRO3操作、V55维护、报警表及作业规范手册,MAKINO 牧野 PRO3 维修设定操作 A55 PRO3操作说明书 日文.pdf A55卧加工作台旋转后加工原点计算.xlsx A61_SPECS.pdf MAKINO PRO3 V55-Operation-Guide 英文.pdf MAKINO S 系列PRO5 使用说明书PIC-Makino-S33-S56-0209.pdf MAKINO 培训课程Schulung_英文.pdf MAKINO-F3F5安装手册MANUAL 英文.pdf Makino-GF8主轴头取汲说明书.pdf MAKINO-PRO3-ProgManua英文l.pdf PIC-Makino-a61-0209.pdf V33 V55 -Series-Operation-485a-9911e英文.pdf V55-Maintenance-Guide-4v2b1563英文.pdf 牧野J5机床说明书J5_OPERATION_中文.pdf 牧野Professional5使用说明书摘要(a1系列 a51 a61 a71 a81 a8

    sgml-common-0.6.3-39.el7.x64-86.rpm.tar.gz

    1、文件内容:sgml-common-0.6.3-39.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/sgml-common-0.6.3-39.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    基于ST-GCN的轻量级行为识别方法.pdf

    基于ST-GCN的轻量级行为识别方法.pdf

    开发板FPGA电机控制源码:底层Verilog与Nios II软件架构的协同工作,集成编码器模块算法与矢量调制等核心技术,开发板FPGA电机控制源码(verilog+nios2架构)FPGA电机控制源

    开发板FPGA电机控制源码:底层Verilog与Nios II软件架构的协同工作,集成编码器模块算法与矢量调制等核心技术,开发板FPGA电机控制源码(verilog+nios2架构)FPGA电机控制源码, 方案为单FPGA方案才用底层verilog + 应用层nios2的软件架构,很具有学习价值。 包括编码器模块算法, 坐标变算法, 矢量调制算法等等。 注:此代码不适合新手小白。 ,核心关键词:FPGA电机控制源码; 开发板; Verilog; Nios2架构; 编码器模块算法; 坐标变换算法; 矢量调制算法; 学习价值; 单FPGA方案; 底层Verilog + 应用层Nios2软件架构。,基于Verilog+Nios2架构的FPGA电机控制源码:单FPGA方案学习宝典

    产品经理-yyb.apk

    产品经理-yyb.apk

    基于PSO优化的SVM时间序列预测分析:详细代码注释,数据替换即用,PSO优化SVM做时间序列预测分析,代码内注释详细,直接替数据就可以使用 ,核心关键词:PSO优化; SVM; 时间序列预测分析;

    基于PSO优化的SVM时间序列预测分析:详细代码注释,数据替换即用,PSO优化SVM做时间序列预测分析,代码内注释详细,直接替数据就可以使用 ,核心关键词:PSO优化; SVM; 时间序列预测分析; 代码内注释详细; 直接替换数据即可使用。,PSO算法优化SVM时间序列预测分析工具——注释详尽的代码直接替换数据即可使用

    telepathy-glib-0.24.1-1.el7.x64-86.rpm.tar.gz

    1、文件内容:telepathy-glib-0.24.1-1.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/telepathy-glib-0.24.1-1.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装

    perl516-perl-DB_File-1.826-19.el6.centos.alt.x86_64.rpm

    perl516-perl-DB_File-1.826-19.el6.centos.alt.x86_64.rpm

    OMRON CP1HPLC电子手轮控制伺服:详细教程-接线、设定与编程指南,OMRON CP1HPLC 电子手轮控制伺服,如何接线,设定,编写程序 PDF文档,我自己总结编写的教程,实际项目应用

    OMRON CP1HPLC电子手轮控制伺服:详细教程——接线、设定与编程指南,OMRON CP1HPLC 电子手轮控制伺服,如何接线,设定,编写程序。 PDF文档,我自己总结编写的教程,实际项目应用,私家珍藏。 ,核心关键词:OMRON CP1HPLC; 电子手轮控制伺服; 接线方法; 设定步骤; 编写程序; 教程; PDF文档; 实际项目应用; 私家珍藏。,OMRON CP1HPLC伺服控制教程:接线、设定与编程指南

Global site tag (gtag.js) - Google Analytics