我有一个配置为创建日志文件的包。发生错误时,我希望包的 OnError 事件处理程序发送一封电子邮件,其中包含日志文件作为附件。这失败并显示以下消息:
文件“C:\Log\blablabla.txt”不存在,或者您没有访问该文件的权限。
该文件确实存在,所以问题一定是我没有访问它的权限。包能够创建文件,这是否意味着由于包仍在执行(因此写入文件)而无法访问该文件?
配置: SQL-Server 2005。属性 DelayValidation == True。
编辑:我偶然发现了这个问题的解决方案。将任务本身的 DelayValidation 设置为 True 是不够的。您还必须为包含该任务的事件处理程序(在本例中为 OnError)设置它。对包成功时执行的发送邮件任务执行相同的操作(因此在控制流中)仍然会产生相同的错误。