我有一个 SSIS 数据流任务,正在尝试使用 ADO.NET 源编辑器将源表中的数据加载到 SQL Server 表中。
问题:
源表名称是动态的,取决于当前日期。
Example: If I want to load today's data then the table name would be
Sample_03292017_data
and if loading tomorrow's data then it would beSample_03302017_Data
.
我做了一些研究,发现如何将参数传递到 ADO.NET 源代码编辑器以在 where
条件中使用 但我找不到任何有关如何在表名称中使用此参数的信息。
有谁知道我怎样才能实现这个目标?我的查询非常简单:
select * from Sample_[DateParameter]_Data.
我正在使用 Visual Studio Data Tools 2010。
最佳答案
必须在数据流任务
上设置表达式,而不是在Ado.net源
中设置
按照以下步骤为 Ado.net 源
设置表达式:
- 在
控制流
选项卡中,单击数据流任务
,然后按F4
显示属性选项卡 - 点击表达式按钮,会出现如下所示的表单
- 选择
[Ado.net Source].sqlcommand
属性并单击表达式生成器按钮
- 编写以下表达式
"select * from Sample_ "+ @[User::DateParameter] + "_Data"
(假设您的数据参数存储在名为的变量中日期参数
)
关于sql-server - 在 ADO.NET 源编辑器中使用动态表名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43102019/