创建数据库查询服务

时间:2013-01-09 19:21:27

标签: c# web-services tsql windows-services

我被要求为我们的母公司创建服务。只要将数据发送给他们,他们就不在乎我是怎么做的。

  • 我们有一台SQL 2000 Server通过Data Transformation Services(DTS)接收机器数据。

  • 我们的母公司希望我创建每隔5分钟左右运行的服务来收集新数据,汇总数据并将其转发给他们。

  • 凭借我在Windows窗体开发方面的背景,我自然认为我应该使用某种类型的Windows Service每隔5分钟轮询一次数据库,然后将这些数据发送给我们的母公司。

  • 装有这些数据的机器是旧的Windows 2000机器,我们的网络管理员建议我在新的Web服务器上将其写为Web Service

  • 我在几个月前创建了Web Service,以便Web服务器从我们的母公司提取工单信息,但我不知道如何让该服务每5分钟执行一次流程。

昨天,我学习了如何在将记录添加到表格时创建Insert After Trigger。不幸的是,没有调用触发器,因为这个旧服务器使用DTS作业。我能够了解Controlling Trigger Execution When Bulk Importing Data,但似乎没有办法修改旧的DTS作业以启用BULK INSERT命令。它可能无法在SQL Server 2000上运行。

因此,在此背景下,我应该创建Windows服务还是Web服务?

我该怎么办?

2 个答案:

答案 0 :(得分:2)

我不会为重复性任务创建Web服务。 Web服务与Windows服务不太相似 btw:一个更简单的替代方案可能是创建一个命令行应用程序,定期通过计划任务运行(阅读“Server 2000中的AT调度程序”)。我更容易安装和更新,因为每次进行更新都不需要重新启动服务器。

答案 1 :(得分:1)

如果webservice有一个可以调用的方法,它只执行一次数据导入/转换,则可以使用Windows任务或cron作业向该方法发出请求。您可以将此任务添加到托管服务的服务器或其他服务器,只要它可以访问Web服务。