sql server 2008-从c#web应用程序调用SSIS并显示进度
本文关键字:SSIS 显示 调用 应用程序 server 2008- c#web sql | 更新日期: 2023-09-27 18:00:28
我有一个SSIS包,它将数据从excel文件加载到数据库。
用户转到intranet页面(普通的c#.net 4.0 web应用程序),选择要上传的文件,然后单击按钮。该按钮将文件复制到服务器,然后启动调用该包的SQL作业。这工作得很好,但用户不知道作业何时完成。
向用户显示程序包已完成(或失败)的最佳方式是什么?
我看到过这样的链接:http://www.programminghelp.com/database/sqlserver/sql-server-integration-services-calling-ssis-package-in-c/但这是针对C#控制台项目的。使用web应用程序进行此操作的最佳方法是什么?
有很多方法可以做到这一点,但如果您正在寻找一种简单的方法,那么您可以在系统中使用SmtpClient类。网Mail命名空间,用于在作业完成时向用户发送电子邮件。(该页面上有一个很好的、简单的代码片段,您可以很容易地重复使用。)当然,您必须设置一个发送帐户(no-reply@myAutomatedJobThing.com例如)并且知道用户的电子邮件地址。
在您的场景中,这是否是最好的解决方案是有争议的,但我已经看到它被用于(我自己也使用过)许多系统,在这些系统中,这样的过程需要相当长的时间,比如几分钟或更长的时间。如果你的导入只需要几秒钟,那么电子邮件解决方案可能有些过头了。
一个更简单的AJAX风格的解决方案可能涉及浏览到一个页面(启动后),该页面通过计时器轮询作业并在页面中显示进度。即使是自动重新加载也可能起作用。为此需要的元数据是用户执行的作业的唯一标识符。