gpt4 book ai didi

ssis - 在 SSIS 包中发送带有附件的邮件任务

转载 作者:行者123 更新时间:2023-12-04 00:43:27 24 4
gpt4 key购买 nike

在我的 ssis 包中,我在序列容器中有数据流任务。 OLEDB 是源,平面文件是目标。我已经为平面文件的位置提供了一个变量 (@[User::strUnknownFileLocation])。我还为平面文件的名称添加了一个变量 (@[User::StrUnknownFileName])。在数据流任务之后我有发送邮件任务。我将该平面文件作为附件附加到发送邮件任务中。

这是我在文件名变量 (@[User::StrUnknownFileName]) 中评估的表达式。我已经在属性中设置了 Evaluate Expression is True。

"UnknownValue_"+ (DT_STR,4,1252)YEAR(getdate()) +(MONTH( getdate()) < 10 ? "0" : "")+  (DT_STR,4,1252)MONTH(getdate()) +(DAY( getdate()) < 10 ? "0" : "") + (DT_STR,4,1252)DAY(getdate()) + ".txt"

这是我的平面文件连接属性表达式--连接字符串

@[User::strUnknownFileLocation]+ @[User::StrUnknownFileName]   

这是我的平面文件连接属性表达式

文件位置的变量我没有任何表达。我在变量中添加了位置值

(@[User::strUnknownFileLocation]).

像 M:\ETL\Tmp\在发送邮件任务中,我有一个附件,附件的表达式是这样给出的,

@[User::strUnknownFileLocation]+ @[User::StrUnknownFileName]   

我昨天运行了包,一切正常。它附加了一个名为 UnknownValue_20130405.txt 的文件。但是今天打开包裹的时候发现发送邮件任务出错了。当我点击错误时,它说找不到文件 UnknownValue_20130406.txt 或我无权打开该位置。有点奇怪。

因此,我执行 DFT 任务。所以文件生成了。然后它起作用了,因为文件在那里。那么为什么它不首先运行。那么现在明天当我打开我的包裹并尝试运行时,它不会运行,因为那天没有文件?但是,如果我只运行 DFT 任务,它将生成一个平面文件,并且在该位置将有一个平面文件。但这不应该是这样。

我做错了什么吗?我无法理解这一点。任何帮助将不胜感激。

提前致谢。

最佳答案

我认为您遇到了问题,因为作为预执行阶段的一部分,SSIS 验证它需要的所有资源是否可用。在新的一天,该文件在包运行后才可用。

要解决这个问题,您可以告诉您 SSIS 等到它确实需要使用资源后再验证它。在 SSIS 中的任何元素上,它都应该有一个默认设置为 False 的 DelayValidation 属性。在“发送邮件任务”上将值设置为 True

关于ssis - 在 SSIS 包中发送带有附件的邮件任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15853629/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com