我有一个使用执行包任务执行7个包的包。这7个软件包的保护级别为“使用密码加密所有数据”。
配置执行包任务时,我选择了位置为“文件系统”。每天我需要手动运行此包。但问题是我每次要执行它时都需要为所有7个软件包提供密码。通常我会在午餐时间运行这个包。
无论如何我可以通过编程方式存储包密码吗?如果我昨天运行它并且我没有关闭BIDS并且我今天再次运行它将不会要求密码。
我还试图在第一次运行之后构建软件包,而不是要求输入密码。然后我再次运行它而不关闭BIDS。但这仍然无效。
答案 0 :(得分:3)
即使您存储package passwords
SSIS,当您使用BIDS
执行密码时,也会始终提示您输入密码。这是因为BIDS尝试打开个人child package designer
,因此提示您输入密码。
所以唯一的方法就是执行它而不dialogue prompt
password
使用sql agent
或dtexec utility
1.为了执行子包,我建议您为父包创建配置文件,并为所有Package Password
Execute Package Task
2.现在在配置文件中输入所有个人execute package task
<Configuration ConfiguredType="Property" Path="\Package\Execute Package Task.Properties[PackagePassword]" ValueType="String">
<ConfiguredValue>Password</ConfiguredValue>
</Configuration>
3.使用dtexec utility
dtexec.exe /f "PackageLocation/Parent.dtsx"