c#中的Windows服务,从Excel中导入数据并将数据转储到SQL Server中
本文关键字:数据 转储 Server SQL 中的 导入 服务 Excel Windows | 更新日期: 2023-09-27 18:12:38
我需要一个Windows服务应用程序,其中有计时器,在12小时后检查一个文件夹,并打开所有标记为未使用的excel文件,并将数据转储到SQL Server 2005中的表中,然后编辑excel文件的名称为USED。继续每天这样做。
这在SQL Server和SSIS中都是可能的:
- SSIS: http://msdn.microsoft.com/en-us/library/ms141026.aspx
- SQL Server维护计划:http://msdn.microsoft.com/en-us/library/ms187658.aspx
- 导入Excel: http://www.mssqltips.com/sqlservertip/1393/import-excel-unicode-data-with-sql-server-integration-services/
如果你在设置上有任何困难,请告诉我们。
或者,如果你必须坚持使用带有计时器的服务,这些链接/信息可能会对你感兴趣:
- 用c#创建一个基本的Windows服务:http://www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C
要使用计时器,只需在类中创建一个System.Timers.Timer
as字段,并在服务的OnStart事件中初始化它,如下所示:
// configuring polling timer
this.downlaodTimer = new System.Timers.Timer();
this.downlaodTimer.Elapsed += new ElapsedEventHandler(this.OnTimerElapse);
// set timer intervall to 1 hour
this.downlaodTimer.Interval = 1 * 60 * 60 * 1000;
// start timer
this.downlaodTimer.Start();
同时,你应该在OnStop, OnPause等服务事件中暂停它,并在OnContinue中重新启动它。
对于"import from Excel"部分,christofr的链接应该是有帮助的。