sql数据存储时提示“超时已过期”错误 VC编程的程序,每1小时往sql2005中存储数据(300条左右),运行一段时间后偶尔出现“超时已过期”错误,该条数据存储失败,哪位帮忙分析下原因 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把timeout设置时间再长一些 ConnectionTimeout没有进行设置,应该是取默认值900秒吧PS:在程序启动时建立与数据库的连接(程序运行中不会关闭或重新建立连接),此后由定时器每1小时存储一次数据,这个是不是会导致此问题。 好像没什么问题,我的数据量其实并不大(开定时器每小时存储300条数据)是要设置哪里的timeout呢?m_pCommand->CommandTimeout=0? CommandTimeout=0 这个应该是无限大了吧 如果都设为无限大是不是不会产生这个问题?设为无限大,那只能靠SQL Server本身自带的功能来避免过长等待了。建议设小一点,不够再调大,同时sql代码中,如果用到事务,显式开始及显式提交或回滚。同时可以根据业务需要考虑是否设置下图中的选项: 如果都设为无限大是不是不会产生这个问题?设为无限大,那只能靠SQL Server本身自带的功能来避免过长等待了。建议设小一点,不够再调大,同时sql代码中,如果用到事务,显式开始及显式提交或回滚。同时可以根据业务需要考虑是否设置下图中的选项:通过观察活动监视器,程序对数据库有如下活动:根据上图好像没有造成阻塞吧。如果出现阻塞应该怎么处理呢?PS:数据库中对表建立了触发器,会对插入的数据进行处理。 周期性执行:select * from sys.sysprocesses where blocked<>0如果有数据,那用DBCC INPUTBUFFER(SPID)这个SPID是上面语句中第一列看看执行了什么,然后看看是否执行过久或者有阻塞,还可以用DBCC OPENTRAN来看看有没有打开了的事务,如果有,且已经保持了很久,有可能就是未提交,阻塞了其他事务等等 你那个e.Description() 就就只显示“超时已过期” ,没有更多的信息吗? SQL语句中单字段对应多条记录 如何在同一个数据库表中查询出相同的记录 哪位大侠举例解释一下事务隔离模式Read Committed和Repeatable Read? 没分了 但还是希望大家帮帮我“数据库附加成功后,里面的表不能识别出来” 奇怪啊 一个比较很业余的问题~~SQL查询的~~ 关于定时任务 导入数据库2008时报的错,应该怎样解决? sql表中有一分号列,如何统计这列中没行分号的个数 全文搜索的超级奇怪的问题,敬请专家回复,感激不尽 那些原因引发数据库一致性错误 如何分离数据库后,可以对库文件进行读写操作? SQL语句调用自定义函数很慢
PS:在程序启动时建立与数据库的连接(程序运行中不会关闭或重新建立连接),此后由定时器每1小时存储一次数据,这个是不是会导致此问题。
是要设置哪里的timeout呢?m_pCommand->CommandTimeout=0?
通过观察活动监视器,程序对数据库有如下活动:
根据上图好像没有造成阻塞吧。如果出现阻塞应该怎么处理呢?
PS:数据库中对表建立了触发器,会对插入的数据进行处理。
select * from sys.sysprocesses where blocked<>0
如果有数据,那用DBCC INPUTBUFFER(SPID)这个SPID是上面语句中第一列
看看执行了什么,然后看看是否执行过久或者有阻塞,还可以用DBCC OPENTRAN来看看有没有打开了的事务,如果有,且已经保持了很久,有可能就是未提交,阻塞了其他事务等等