我有一个父包,我在其中设置了一个变量,该变量指向我想在其中写入包的执行日志的文件夹。该父包执行子包并为子变量设置值。
在子包中,包日志记录被设置,到日志文件的连接字符串是用表达式构建的:
[User::LogFolder] + "\\" + [System::PackageName] + ".log"
但是我的包裹总是在第一步失败并显示以下消息:
Error: 0xC001404B at Child Package, Log provider "SSIS log provider for Text files": The SSIS logging provider has failed to open the log. Error code: 0x80070005. Acces denied.
错误发生在 BIDS 内部。如果我将日志文件的路径静态设置为相同的路径,那么它运行没有问题,所以它似乎不是权限问题。关于如何解决这个问题的任何建议?提前致谢。
编辑:问题似乎发生了,因为 [User::LogFolder] 值是从父包中获取的,并且当包尝试打开日志时,值尚未传递,从而导致错误。有没有办法解决这个问题?