GnuPG-SSIS包执行报错:进程退出码为2而非预期的0
解决SSIS包修改共享路径后GPG加密失败(退出码2)的问题
GPG退出码2通常对应命令行参数解析错误或目标路径无法正常访问,结合你的场景,按以下步骤排查解决:
修正命令行参数格式
从报错信息看,当前的GPG命令参数存在引号嵌套问题:"--yes --encrypt --recipient generic "\SRV2\PROD\Files\text.csv"",路径的前引号会和前面的参数引号冲突,导致GPG无法正确解析目标路径。
正确的参数格式需拆分独立参数,同时对UNC路径做转义处理:"C:\Program Files (x86)\GnuPG\bin\gpg.exe" --yes --encrypt --recipient generic "\\SRV2\PROD\Files\text.csv"注意:UNC路径必须用双反斜杠
\\转义,若路径包含空格,需将路径单独用引号包裹。验证执行账户的实际访问权限
即使共享与NTFS权限和SRV1一致,仍需确认:- SSIS包的执行账户(代理账户或当前登录账户)能否直接读写
\\SRV2\PROD\Files\目录 - 用该账户登录服务器,手动在共享目录创建、删除文件,验证权限是否实际生效(权限继承或组策略可能导致配置不落地)
- SSIS包的执行账户(代理账户或当前登录账户)能否直接读写
手动测试GPG命令
脱离SSIS环境,用相同执行账户在命令行直接运行修正后的GPG命令,确认是否能成功加密并写入新共享路径,排除SSIS任务配置的干扰。检查新服务器的SMB协议配置
SRV2可能禁用了旧版SMB协议(如SMB1),而SSIS执行环境依赖该版本,需确认SRV2的SMB协议版本与原环境兼容;若为域环境,还要确认执行账户的域认证权限。
内容的提问来源于stack exchange,提问作者Anil
相关产品推荐
相关产品推荐

