【发布时间】:2021-02-18 01:23:12
【问题描述】:
我有两个名为 Parent.dtsx 和 Child.dtsx 的 SSIS 包。
为简单起见,子包干脆
在 oracle 表中插入一行,此 .dtsx 具有用于 Oracle 连接的 EncryptSensitiveWithPassword。
父包只有一个任务是Execute Package Task,它调用Child.dtsx。
父包有ReferenceType = ExternalReference,连接指向包含parent.dtsx 和child.dtsx 的SQL Server。
Child.dtsx 在 Visual Studio 中运行良好。我得到插入的行。如果我通过 sql 代理作业运行 parent.dtsx,我会收到一条错误消息:
“ORA-01005:给出的密码为空;登录被拒绝”
但是,如果我登录到集成服务并手动执行"Child -> Run Package",它可以正常工作。当然,我会弹出询问包裹密码的弹出窗口,因为它是加密的。
为什么我不能通过SQL Agent运行来执行parent.dtsx?如果我将代理作业步骤更改为运行 child.dtsx,那么它可以工作。
【问题讨论】: