首页 > 解决方案 > SSIS 运行 PS1 (powershell) 作业,但 SSMS 代理不运行

问题描述

我在 SSIS 上有一个包,它运行一个 .BAT 文件,因此运行一个 .PS1 文件(powershell)。这个 Powershell 文件将 Excel 文件转换为 CSV,因此我可以更轻松方便地导入数据。

问题是当通过 SQL Agent Job 创建计划并运行此作业时,它没有执行打开 Excel 文件并正常转换它的步骤。通过 SSIS 它可以工作,通过 SSMS(集成服务目录)运行包也可以,但通过代理它不能。

我试过的:

我已经在文件夹中为几个 SQL 和 SSIS 用户授予了权限(我不知道我是否给了所有人)。

我已经激活了通过 SQL 窗口使用的功能(但该命令也不起作用,它给出了错误)。作为答案:启用“xp_cmdshell”SQL Server

我已经通过 DCOMCNFG 授予了组件的权限。作为答案:DCOM , DCOM 2

我已经在 SSMS 本身内给予了许可。

我已经创建了一个代理并使用了一个凭证,当使用该代理运行作业时,它也没有运行。作为答案:代理答案代理答案 2

但是我不知道我可以做些什么来使该过程通过代理、手动和通过 SSIS 正确运行,它可以完美运行。但不是自动的。SSIS 在运行时是否有任何特定用户具有权限而 SSMS 代理没有?(尽管我试图在任何地方给予许可)。

谢谢!

标签: sqlsql-serverssisssms

解决方案


问题出在 DCOM 配置中的 Excel 应用程序中,因此查看此链接DCOM config,我能够修复它并正确运行。


推荐阅读