怎样用Windows服务实现自动检查数据库中的数据

 我来答
一骑当后
2014-12-16 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306435
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部
  1、Windows服务好方法,除了此方法还可以使用SQL Server的作业或者Windows的计划任务。
  2、至于为何没有插入数据,那不用问肯定是SQL没有被执行(首先您要保证SQL语句的正确性,即在SQL Server的查询分析器中是可以运行成功的,如果这个都保证不了,那么SQL语句有问题了)。
  3、建议您为您的Windows服务建立一个文本日志,而且在关键步骤上需要去将成功或失败的过程写入此日志,比如将下列过程使用try语句写入日志:连接数据库、发送SQL语句到数据库执行、以及其他功能操作,如果成功,在日志中写入“某某操作成功”(也可不写入成功信息),如果失败写上“某某操作失败!失败原因:×××。”,失败原因就是try语句的报错的ex消息体,当然必须为每步操作加上日期(根据情况,一般需要精确到秒)。写日志后您就能发现到底是哪里出错了,是Windows服务开发本身的逻辑错误还是代码错误还是SQL语句的错误等等。
  4、SQL语句建议使用存储过程。
  5、据我了解Windows服务是不需要使用Timer控件的来控制的,您是用Timer控件控制访问数据库的时间间隔嘛?
  建议您一步步开发,就和穿衣服一样一件衣服穿好了再穿另外一件,明白我的意思吗?找问题的Bug也是和脱衣服一样,一件衣服脱完了再脱另外一件!有关具体Windows服务的开发可以看看我博客中的这篇文章《一个有用的Windows服务小程序——用来完成Server端的Socket通信》,虽然是在VS.NET2003下开发的Windows服务,但大同小异,希望能在Windows服务方面对您有所启发。
  另外说明:Windows服务是C/S架构程序,跟您项目本身使用Asp.Net C#(即B/S架构程序)没有直接关系,只是两个用的是同一个数据库而已(即操作的数据相同),其他互不往来也不影响,且您开发的这个Windows服务是要安装在服务器上,而不是客户端上。
  转载,仅供参考。
梁其匡雰
2020-05-17 · TA获得超过1142个赞
知道小有建树答主
回答量:1618
采纳率:100%
帮助的人:7.6万
展开全部
可以不是静态的。你的问题中说

“我测试过了,如果把Notify()设置成静态的,发送预警信息的次数好像有限”

这里是不是笔误?应该是设成非静态?

怎么叫次数有限?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
拱杰祁雅柔
2020-05-15 · TA获得超过1038个赞
知道小有建树答主
回答量:1684
采纳率:0%
帮助的人:7.8万
展开全部
写一个Windows服务,设置Timer控件每隔一分钟触发一次。

不过具体怎么弄我也不太清楚,你还是请教一下相关的专业人士吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式