[英]SSIS SQL Task with parameters not creating temp table
我有一个创建临时表的SQL任务,然后是从该临时表中选择的数据流任务。 一切正常且繁琐,但是当我向SQL任务添加参数时,数据流任务失败,并说没有创建临时表。 硬编码参数值有效。
保留相同的连接选项为true,设置了元数据,并且将我的Int32变量映射为oledb,名称为0和1,大小为-1。
我设法将其复制到较小的规模
SQL任务
DECLARE @Yesterday DATETIME
DECLARE @Today DATETIME
DECLARE @StartDisposition INT = ?
DECLARE @EndDisposition INT = ?
SET @Yesterday = CONVERT (date, DATEADD(day, @StartDisposition, GETDATE()))
SET @Today = CONVERT (date, DATEADD(day, @EndDisposition, GETDATE()))
SELECT @StartDisposition AS A, @Yesterday AS B, @Today AS C INTO #TempT
数据流任务,或者仅是一个SQL任务
SELECT * FROM #TempT
因此,带有参数的东西似乎使temp表的创建变得混乱。
谢谢
使用String变量表达式进行查询有效。 这是怎么回事。
"DECLARE @Yesterday DATETIME
DECLARE @Today DATETIME
DECLARE @StartDisposition INT = " + (DT_STR, 20, 1252)@[User::StartDisposition] + "
DECLARE @EndDisposition INT = " + (DT_STR, 20, 1252)@[User::EndDisposition] + "
SET @Yesterday = CONVERT (date, DATEADD(day, @StartDisposition, GETDATE()))
SET @Today = CONVERT (date, DATEADD(day, @EndDisposition, GETDATE()))
SELECT @StartDisposition AS A, @Yesterday AS B, @Today AS C INTO #TempT"
然后在SQL任务中,将SQLSourceType更改为Variable
谢谢大家的帮助。
有时候很奇怪,但是如果我们创建全局临时表(## TempT)可以解决
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.