首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将参数传递给由sp_startjob运行的包

将参数传递给由sp_startjob运行的包
EN

Stack Overflow用户
提问于 2012-10-29 21:09:09
回答 1查看 677关注 0票数 0

我们有一个通过SQLAgent作业运行的SSIS包。我们从ASP.NET网页中启动作业(通过sp_startjob)。登录到UI的用户需要使用该用户启动的SSIS包进行登录-因此,我们需要将userId传递给SSIS包。问题是我们不能将参数传递给sp_startjob。

有人知道如何实现这一点和/或知道上述方法的替代方案吗?

EN

回答 1

Stack Overflow用户

发布于 2012-10-29 21:50:59

这不能通过sp_startjob完成。您不能将参数传递给作业步骤,因此该选项为out。

如果您不关心并发性,并且考虑到不能同时运行相同的作业,那么您可能可以通过将作业步骤从SQL Server Integration Services类型更改为类似OS命令的类型来解决此问题。让操作系统命令调用网页创建/修改的批处理脚本。Net结果是此时您像dtexec.exe /file MyPackage /Set \Package.Variables[User::DomainUser].Properties[Value];\"Domain\MyUser\"一样启动包,包中的变量DomainUser的值为Domain\MyUser。

我不知道您的要求,所以也许您可以直接调用.NET框架并从web页面启动您的包。尽管您可能希望确保异步调用。否则,除非您的SSIS包非常快,否则用户可能会尝试导航离开,垃圾邮件刷新等,等待它到页面“工作”。

顺便说一下,所有这些都只是将一个值推入SSIS包中。在本例中,为用户名。它不会传递他们的凭据,因此对SYSTEM_USER之类的东西的调用将报告SQL Agent用户帐户(或作业步骤的操作员)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13122309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档