我支持的一个应用程序使用了SQLServer2008DB(供应商创建/支持的应用程序)。这个应用程序所做的事情之一就是整天将记录加载到DB中的ETL表中,然后移动到数据仓库中。
不幸的是,这个应用程序现在在ETL表上有很多问题,而且供应商没有监控解决方案。我没有访问DB添加存储过程或任何东西的权限,但是我可以在ETL表上运行count *来查看事情是否失控。
我已经成功地编写了一个VB.NET应用程序,它将返回这些ETL表中的行数,这样我就可以监视事物,但只有在触发按钮事件时,它才会返回计数。
我从来没有写过一个“实时”运行/更新的应用程序,我正在寻找一些指导,我可以创建一个应用程序,以尽可能接近实时更新这些计数值。
任何指导都将不胜感激!
发布于 2014-08-22 03:57:53
您可以通过编写控制台应用程序来实现这一点,因为您似乎已经习惯了.Net。
控制台应用程序运行,您可以使用console.writeline()和console.readline()读取program.cs中的值。或者您可以更新表中的记录计数或发送电子邮件。
当您说实时时,控制台应用程序可以被调度为运行--例如,通过在任务调度程序或sql代理中创建任务,或者通过启动exe来运行它。一个粗略的例子是,通过创建一个每10分钟启动控制台ap的任务,您可以每10分钟发送一封电子邮件给自己。
发布于 2014-08-22 07:54:10
如果您正在使用Windows窗体应用程序,只需添加一个触发SQL查询的计时器对象即可。作为额外的奖励,您可以在表单中包含字段,以控制计时器触发频率以获得适合您的分辨率。
当然,您也可以在控制台应用程序中使用计时器控件。
https://stackoverflow.com/questions/25439119
复制相似问题