sql - 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 本身内给予了许可。
但是我不知道我可以做些什么来使该过程通过代理、手动和通过 SSIS 正确运行,它可以完美运行。但不是自动的。SSIS 在运行时是否有任何特定用户具有权限而 SSMS 代理没有?(尽管我试图在任何地方给予许可)。
谢谢!
解决方案
问题出在 DCOM 配置中的 Excel 应用程序中,因此查看此链接DCOM config,我能够修复它并正确运行。
推荐阅读
- javascript - 如何从 axios 调用中获取挂载的数据
- react-native - 如何在 react-native 中使用 ActivityIndicator 和 FlatList?
- json - 如何最好地加密数据以通过深层链接或 URL 共享内容?
- go - golang中的uint和uintptr
- blockchain - Solidiy FundMe 智能合约 - Remix - Chainlink `调用 FundMe.getVersion 错误:执行恢复`
- javascript - 延迟加载网格:滚动一个大部分被溢出隐藏的大的空div:auto
- javascript - 在 Google 表格 App 脚本上使用 TextFinder 时返回表格名称
- android - 如何将列表数据从活动 A 发送到活动 B 并编辑活动 B 中的数据
- masstransit - 有没有办法修改 Masstransit 传输到 _error 队列的消息?
- visual-studio - 使用 Unity 构建后通过 USB 部署到 Hololens 1 时出错