问题描述
每个月总有那么几次。我们去各个服务器抽数据,首先初始化各个服务器的配置信息。把数据存入到配置信息表中。但是每个月总会有1次,2次初始化失败的。一般报错的程序都是读取配置信息的方法报错。早上上班重新执行下任务就初始化成功。还原不了现场。一直不了了之。
解决方案
本帖最后由 chi4419424 于 2014-12-01 14:15:49 编辑
解决方案二:
上面的是初始化报错。抽取程序也有相似的问题。每个月1~2次。抽取的转换报错。重新抽取又完全没问题。
解决方案三:
难道是板块错了?完全没人啊。
解决方案四:
因为你问题描述的不清楚不要胡乱用自己发明的名词什么抽取,是干什么的抽血的吗
解决方案五:
从你的描述,根本看不出这个跟标题有任何关系哪里用到了任务计划,哪里用到了CONSOLE,服务器是什么服务器,如果上面不跑任何软件,不过是个配置比较好的电脑而已,根本看不出所谓初始化是要干嘛,难道就是服务器重启而已吗
解决方案六:
引用4楼Z65443344的回复:
从你的描述,根本看不出这个跟标题有任何关系哪里用到了任务计划,哪里用到了CONSOLE,服务器是什么服务器,如果上面不跑任何软件,不过是个配置比较好的电脑而已,根本看不出所谓初始化是要干嘛,难道就是服务器重启而已吗
c#写的一个console程序,每天定时去不同的服务器数据库里抽取数据。访问不同的数据库需要不同的配置。ip,帐号密码之类的。这些配置信息要去中央的数据库服务器某张表读取到本地来。生成类似(服务器IP服务器帐号密码监控状态1抽取状态1状态2...)这样的一张表。之后去读取这张表的每一行数据,根据这个配置访问数据库抽取数据。然后这个console是用计划任务每天去定时执行的。之后每个月就会遇到我上面说的情况。重新执行又完全没问题。不清楚的偶再回复。
解决方案七:
实际上就是个控制台程序定时执行多数据库的查询功能,而有时候会连接出错,如此而已连接出错是常有的事,既然是网络上的服务器,你就不要想能够100%连接成功你平时上网看网页的时候难道没有出现过无法访问的时候吗遇到错误,设置个自动重连,重新读取,不就行了
解决方案八:
引用3楼Z65443344的回复:
因为你问题描述的不清楚不要胡乱用自己发明的名词什么抽取,是干什么的抽血的吗
这个程序总共分4个模块。1:初始化服务器配置,就是我5楼写的读取各个数据库的信息,这样可以针对每天的抽取情况作监控。进行到哪一块失败了。2:对抽取的数据先进行抽取前的验证:比如网络是否通畅,明细数据和汇总数据是否总量一致,需要的几张表是否都产生今天的数据,需要的几张表是否存在等等。最后更新之前的那张通讯表,记录IP,帐号,密码,抽取日期,状态1,状态2,状态33:满足所有条件则抽取数据到我们的临时库,并进行加工生成需要的数据。更新通讯表状态4:最后则把这部分数据上传到需要的部门。现在就是每个月都会在各个模块出现1,2次不明不白的错误。但是重新执行又完全没问题的。之前的截图就是一个在第一部的初始化错误,那个getdataset方法只是去读配置表信息。这种完全不应该会有什么报错的。
解决方案九:
console换成serviceTimer换成Quartz代码加异常处理....
解决方案十:
你只贴出了getdataset异常,到底什么异常?而且,访问数据库毕竟是个网络操作,网络操作就不要老想什么:这个不应该出问题,那个不应该出问题万一网络不稳定,ping也会丢包,访问数据库怎么可能保证100%不出问题呢?出了问题,要么你记录下详细的错误信息,写进日志里,好在之后的版本中去除这个bug要么不管它到底什么问题,只要出了问题,就重试,直到正常读取到数据为止总之你这个东西一出问题直接弹出个系统错误然后就不动了,从任何方面看也是个不健壮的系统