加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

从c#web app调用SSIS并显示进度

发布时间:2020-12-15 17:18:00 所属栏目:百科 来源:网络整理
导读:我有一个SSIS包,可以将excel文件中的数据加载到数据库中. 用户转到Intranet页面(正常的c#.net 4.0 Web应用程序),选择要上载的文件,然后单击按钮.该按钮将文件复制到服务器,然后启动调用包的SQL作业.这工作正常和花花公子,但用户不知道什么时候工作完成. 向用
我有一个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#Console Project的.使用Web应用程序执行此操作的最佳方法是什么?

解决方法

有很多方法可以做到这一点,但如果您正在寻找一种简单的方法,那么您可以使用System.Net.Mail命名空间中的 SmtpClient class在作业完成时向用户发送电子邮件. (该页面上有一个很好的,简单的代码片段,您可以轻松地重复使用.)当然,您必须设置一个发送帐户(例如,no-reply @ myAutomatedJobThing.com)并知道用户的电子邮件地址.

这是否是您的场景中的最佳解决方案是值得商榷的,但我已经看到它被用于(并自己使用)用于许多系统,其中这样的过程需要相当长的时间,比如几分钟或更长.如果您的导入只需几秒钟,那么电子邮件解决方案可能会过度.

一个更简单的AJAX风格的解决方案可能涉及浏览页面(启动后),该页面通过计时器轮询作业并在页面中显示进度.即使是自动重载也可能有效.您需要的元数据是用户执行的作业的唯一标识符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读