我有有通过CMD PROMT执行程序的脚本任务的SSIS包。
该任务运行正常,当我从集成服务目录然而执行包,当我运行它作为SQL Server代理作业的作业报告成功的一部分,但它不会做任何事情。
这几乎是如果任务不执行在所有的,因为当我通过SSIS目录运行包我得到一个日志发生了什么事,在那里,当我通过作业运行它,我没有得到这一个cmd弹出CMD弹出。
我起诉的SQL Server 2016和作业与代理用户帐户运行。
@PanagiotisKanavos很可能已经击中了要害。脚本任务有一个只读变量提供给他们System::InteractiveMode
您可以在脚本任务中检查变量的值,以确定该进程是否可以与台式机又名沟通“有人在车轮。”
如果你试图从一个工作桌面交互,脚本任务应该抛出一个错误。对于加分,一个帐户可以被标记在Active Directory中...否认台式机或类似的,即使你想运行在一些交互方式工作,这东西,你将不能够。
在我的脚本任务,如果我打开窗户的可能性,因为你描述,我总是将它包装在一个逻辑块像
string message = "Some diagnostic message";
if ((bool)this.Dts.Variables["System::InteractiveMode"].Value)
{
MessageBox.Show(message);
}
针对不同的目的运行代码的样本是在我的博客
http://billfellows.blogspot.com/2015/02/is-my-ssis-package-running-in-32-or-64.html
并有可能重复