繁体   English   中英

参数未创建临时表的SSIS SQL任务

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM