更新的系统变量我有一个SSIS包使用脚本任务在磁盘上创建一个Excel文件,并为之填充数据从存储过程(使用Microsoft.Office.Interop一个SQL。 Excel中)。这在测试时以及通过SSIS目录手动运行已部署的软件包时效果很好,但是当我通过SQL Server代理自动运行任务时,软件包在“脚本任务”步骤中失败。我的作业作为代理帐户运行,与我在测试时登录到服务器的帐户相同(并且与手动运行包时的帐户相同)。
我的理解是,即使作业使用代理运行,任何桌面交互都会在SQL Server代理登录的配置文件上下文中发生。由于该配置文件未被主动登录,因此交互失败。挖掘更多内容时,名为“InteractiveMode”的包中有一个bool System Variable,它被设置为“False”。我有一种感觉,如果我可以将其切换为True,那么一切都会变得沉闷多y。麻烦的是,该变量只能作为“ReadOnly”访问我的脚本任务...
有没有什么办法在运行时手动或编程设置SSIS包中的System:InteractiveMode变量?请帮忙!我现在不得不手动运行这些预定作业,这是一个很大的麻烦。
谢谢。
不,您将无法更改该值。它是只读的,因为它从操作系统告诉它的价值中获得它的价值。相关问题缺乏细节。你如何定义你的工作?它是否以32位模式运行?我的回忆是模糊的,但我相信我曾经通过Agent运行SSIS包与办公室库进行交互。 – billinkc 2014-10-27 18:20:30
作业定义为32位,在代理本地管理员帐户下运行。我不认为这是一个权限问题,因为我试图给“每个人”完全访问正在写入的文件夹。 – ItJustWerks 2014-11-11 20:22:11
这与您的问题有关? http://stackoverflow.com/a/26122982/181965 – billinkc 2014-11-11 21:06:22