应用程序将数据从一个数据库下载到另一个数

时间:2013-05-31 09:33:54

标签: .net

我打算编写一个.NET Windows Forms应用程序,在预定的时间将数据从一个数据库下载到另一个数据库。 所以我需要从这两个选项中选择一个

  1. 使用Timer控件创建一个Windows窗体,并通过代码处理下载过程的开始,并使应用程序永远在服务器上运行。
  2. 在表单加载时创建一个Windows窗体并运行下载方法,并使用Windows Scheduler在给定时间启动该程序,并在下载完成后退出该程序。
  3. 我需要考虑在上述方法之间进行选择以及有哪些优点/缺点?

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

2 个答案:

答案 0 :(得分:3)

不使用Windows窗体,只需使用SQL Server创建SSIS作业。

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

点击此链接:Automating Database Administration with SQL Server Agent

最好的问候

答案 1 :(得分:1)

如果您确实需要.NET应用程序来执行此操作,而不是在数据库服务器中处理它,那么您可能需要以下其中一个:

  1. 由数据库服务器上的Windows调度程序运行的控制台应用程序,假设服务器是Windows。

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

  3. 在这两种情况下,我都会使用配置文件进行输入,使用Log4Net进行输出。您可以向解决方案添加图形测试工具项目,以便在任何一种情况下都提供测试UI。