Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 如何在SSIS中使用常量var_Sql Server 2005_Ssis - Fatal编程技术网

Sql server 2005 如何在SSIS中使用常量var

Sql server 2005 如何在SSIS中使用常量var,sql-server-2005,ssis,Sql Server 2005,Ssis,我已将变量定义为: DateSecondsOffset Int default as 1 在SQL Server集成服务项目中。我用它作为常数 在任务中,我使用以下SQL设置另一个var NextDT: SELECT dateadd(s, max(timestamp), 1) DT from myTable 我想用DateSecondOffset替换1,以便在需要时更改它。我可以在那里输入变量名,或者在它前面加上@或其他什么吗?如果您在脚本中 Dts.Variables("Date

我已将变量定义为:

   DateSecondsOffset Int default as 1
在SQL Server集成服务项目中。我用它作为常数

在任务中,我使用以下SQL设置另一个var NextDT:

  SELECT dateadd(s, max(timestamp), 1) DT from myTable

我想用DateSecondOffset替换1,以便在需要时更改它。我可以在那里输入变量名,或者在它前面加上@或其他什么吗?

如果您在脚本中

Dts.Variables("DateSecondOffset").Value
如果您在字段中引用它

Scope::DateSecondOffset
将范围替换为您的范围,该范围可在“包资源管理器”选项卡的“变量”下找到

如果您在SQL中引用它

选择@DateSecondOffset


确保在SQL任务中设置输入/输出参数,并在脚本任务中设置只读/读写变量。

必须将包变量作为SQL任务的参数传递

您可以定义DoIt
-在“执行SQL任务编辑器”->“参数映射”部分
-或者在“脚本任务编辑器”窗口中的ReadOnlyVariables选项(ReadWriteVariables选项,如果您希望能够在任务期间更改变量值)

然后在sql查询中声明变量并使用第一个参数初始化它:

DECLARE @DateSecondsOffset INT
SET @DateSecondsOffset = ?
SELECT dateadd(s, max(timestamp), @DateSecondsOffset ) DT from myTable

请参见执行SQL任务中引用参数的语法取决于所使用的连接类型

例如,使用@ParameterName的ADO.NET连接。对于您使用的OleDB连接

完整的细节可以在这里找到


这是正确的吗?要替换1的Dts.Variables(“DTSecondsOffset”).Value?从myTable中选择dateadd(s,max(时间戳),Dts.Variables(“DTSecondsOffset”).Value)DT?设置@DateSecondsoffset=?有错误。是这样的吗?语法不正确。我有SQLServer2005和MVS2005