我有一个SSIS数据流任务,我尝试使用 ADO.NET源代码编辑器 将数据从源表加载到SQL Server表中。
源表名称是动态的,取决于当前日期。
示例:如果我想加载今天的数据,那么表格名称将为
Sample_03292017_data
,如果明天加载数据,那么它将是Sample_03302017_Data
。
我做了一些研究,并找到了如何将参数传递到 ADO.NET源代码编辑器 以在 where
条件中使用但我无法找到有关如何在表名中使用此参数的任何内容。
有谁知道我怎么能做到这一点?我的查询非常简单:
select * from Sample_[DateParameter]_Data.
我正在使用Visual Studio Data Tools 2010。
答案 0 :(得分:2)
必须在Data Flow Task
上设置表达式,而不是Ado.net Source
按照以下步骤设置Ado.net Source
的表达式:
答案 1 :(得分:2)
您应该使用动态SQL来实现此目的。如果您使用ADO.net
作为Connection Type
,请将以下内容复制并粘贴到SQL语句中:
Declare @SQL VARCHAR(MAX)
SET @SQL = 'Select * from ' + @TABLE
EXEC(@SQL)
在参数页面中,您需要Add
新参数@TABLE
作为parameter name
,并将大小保留为-1
。 @Table
变量应由变量设置页面中的expression
决定。