我的应用程序实际上调用了一个存储过程,它调用一个包并执行它。最初我们使用xp_cmdshell和dtexec来做,但客户端不允许使用xm_cmdshell.Is有任何其他方法去做这个?从存储过程调用ssis包,而不使用xp_cmdshell
请帮忙。
我的应用程序实际上调用了一个存储过程,它调用一个包并执行它。最初我们使用xp_cmdshell和dtexec来做,但客户端不允许使用xm_cmdshell.Is有任何其他方法去做这个?从存储过程调用ssis包,而不使用xp_cmdshell
请帮忙。
这种情况是SSIS文档中的discussed。另一个选项是CLR程序,即runs the package,所以不是TSQL/xp_cmdshell,而是使用CLR/Dts对象模型。
你可以设置一台运行的包,然后用sp_start_job
来EXECUT工作
http://msdn.microsoft.com/en-us/library/ms403355.aspx
您可以使用这些命令来创建作业的作业编程
,但它会在并发users.suppose用户点击一个按钮,将调用此sp_startjob.But创建问题,但如果在同一时间其他用户单击此按钮然后他/她将无法执行它,直到第一个完成它。 – Shipu 2012-02-02 14:01:55
可能不是运行现有作业,而是运行创建作业的脚本,然后可以将该唯一GUID添加到作业并跟踪其进度以及http://msdn.microsoft.com/zh-cn/library/ms191450的.aspx – msmucker0527 2012-02-02 14:21:21
SQL 2012提供了本地运行程序包的过程[catalog.create_execution](http://msdn.microsoft.com/zh-cn/library/ff878160(v = sql.110).aspx)和[catalog.start_execution] (http://msdn.microsoft.com/en-us/library/ff878160(v=sql.110).aspx) – billinkc 2012-02-02 15:49:12
问题是应用程序和程序包重新在同一个服务器即应用程序服务器上。根据客户端我们不允许在应用程序服务器上安装集成服务。我们的数据库服务器是不同的。我们的应用程序在按钮单击时执行包。 – Shipu 2012-02-03 05:10:06