我试图在 SSIS 包中执行这个 sql 任务,当找不到文件名时发送电子邮件。我已经在我的 ssis 包中声明了这个用户定义的变量“@PackageStartTime”。但是,当我的 SSIS 包执行此任务时,它会因以下错误而失败。
“执行查询 DECLARE @PackageStartTime Varchar(250) SET @Packag....”失败并出现错误。:“参数名称无法识别。” 可能的失败原因:查询有问题,“ResultSet”属性设置不正确,参数设置不正确,或连接未正确建立。”
DECLARE @PackageStartTime Varchar(250)
SET @PackageStartTime =?
IF(SELECT COUNT(*)
FROM [dbo].[Table1] WHERE RowCDate >=@PackageStartTime)>0
BEGIN
DECLARE @SUB Varchar(250)
SET @SUB = 'File Failed'+@@SERVERNAME
DECLARE @BODY Varchar(250)
SET @BODY = 'File Failed'+@@SERVERNAME
EXEC msdb.dbo.sp_send_dbmail @profile_name='default',
@recipients='dev@null.com',
@subject=@SUB,
@body=@BODY,
@query= 'SELECT DISTINCT FileLoadName
FROM [dbo].[Table1] WHERE RowCDate >=@PackageStartTime',
@attach_query_result_as_file=1
我无法理解。我刚刚添加了一个变量 User::strPackageStartTime 作为 Datatype = String 并且 Value 为空。我在执行 SQL 任务编辑器的参数映射中没有该变量。我有什么遗漏吗?
预先感谢