我需要在 SSIS 包中将文件从一个位置复制到另一个位置。由于该文件夹位于另一个域中,因此我需要在运行 robocopy.exe 命令之前模拟另一个帐户。我发现我可以执行“net use”命令来模拟必要的用户帐户,然后立即执行 robocopy 命令。我在执行进程命令中看不到任何直接执行此操作的方法,因此我使用执行进程任务来运行一个批处理文件,该批处理文件将这两个命令作为单独的行。这种方法的缺点是我无法读取 Execute Process 命令的结果。所以这让我想到三个问题:
- 有没有办法在单个执行进程任务中执行多行命令?
- 有没有办法在一行中模拟另一个帐户时执行 robocopy.exe?
- 有没有办法将批处理文件的结果写回 SSIS 中的变量或 SSIS 数据库日志?
如果上述三个问题中的任何一个都有肯定的答案,那么我也许可以根据 robocopy 命令的结果想出一种添加作业成功或失败规则的方法。