我需要一个 Windows 服务应用程序,其中有计时器,它会在 12 小时后检查一个文件夹,并打开所有标记为 UNUSED 的 excel 文件,并将数据转储到 SQL Server 2005 中的表中,然后编辑名称excel文件使用。每天继续这样做。
问问题
1889 次
2 回答
1
这一切都可以通过 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/
如果您在设置时遇到任何问题,请告诉我们。
于 2013-05-07T08:52:51.523 回答
0
或者,如果您必须坚持使用带有计时器的服务,这些链接/信息可能会让您感兴趣:
- 在 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 中重新启动它。
对于“从 Excel 导入”部分,christofr 的链接应该会有所帮助。
希望这有帮助,祝你好运 ;)
于 2013-05-07T09:30:31.847 回答