2013-05-31 27 views
0

我打算编写一个.NET Windows窗体应用程序,以在计划的时间将数据从一个数据库下载到另一个数据库。 所以,我需要选择一个来自这两个选项将数据从一个数据库下载到另一个数据库的应用程序

  1. 创建一个Windows与定时器控制形成和处理通过代码开始下载过程,并保持应用程序的服务器上运行下去。
  2. 创建一个Windows窗体并运行窗体加载下载方法,并使用Windows调度程序在给定时间启动程序并在下载完成时退出程序。

我必须考虑在上述方法之间进行选择,以及有哪些优点/缺点?

注意:下载是从多个表(如Item,Supplier)完成的,因此可能需要一个停止一个或几个表同步的requiremet,所以我猜这需要一个UI。

+2

它是WinForms的原因吗?需要用户界面吗?如果不是,我会推荐一个预定的SSIS作业,如果使用SQL Server。 –

+0

听起来过头了。在数据库本身中执行这些作业。除非你必须有一个UI,但在我看来,从一个数据库复制数据到另一个不需要UI –

+0

@PhilMurray从多个表(如Item,Supplier)完成下载,因此可能需要一个需求来停止一个或几个表同步,所以我想这需要一个用户界面。 – Nalaka526

回答

1

如果你确实想要一个.NET应用程序去做,而不是在数据库服务器处理它,那么你会希望之一:

  1. 由Windows调度程序在数据库服务器上运行的控制台应用程序(假定服务器为Windows)。

  2. 带定时器的Windows服务(根据定义,没有GUI)。

在这两种情况下,我会使用配置文件输入和Log4Net输出。在任何情况下,您都可以将图形测试用具项目添加到解决方案中以提供测试用户界面。

3

而不是使用Windows窗体只是使用SQL Server创建SSIS作业。

只需创建您的Integration Services包或存储过程,即从数据库获取数据并将数据发送到另一个,然后只需在SQL Server上安排作业即可。

检查此链接:Automating Database Administration with SQL Server Agent

问候

相关问题