在 ADO.NET 源代码编辑器中使用动态 Table 名称
Using Dynamic Table name in ADO.NET Source Editor
我有一个 SSIS 数据流任务,我正在尝试使用 ADO.NET 源代码编辑器 从源 table 加载数据 进入 SQL 服务器 table.
问题:
源 table 名称是动态的,取决于当前日期。
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 be Sample_03302017_Data
.
我做了一些研究,发现了如何将参数传递给 ADO.NET 源代码编辑器 以便在 [=29] 中使用=]where
条件 但我找不到任何有关如何在 table 名称中使用此参数的信息。
有谁知道我怎样才能做到这一点?我的查询非常简单:
select * from Sample_[DateParameter]_Data.
我正在使用 Visual Studio Data Tools 2010。
表达式必须设置在 Data Flow Task
而不是 Ado.net Source
按照以下步骤为 Ado.net Source
:
设置表达式
- 在
control flow
选项卡中单击 Data Flow Task
并按 F4
以显示属性选项卡
- 点击表情按钮,出现如下图
- 选择
[Ado.net Source].sqlcommand
属性 然后点击表达式构建器按钮
- 编写如下表达式
"select * from Sample_ " + @[User::DateParameter] + "_Data"
(假设你的数据参数存储在一个名为DateParameter
的变量中)
您应该使用动态 SQL 来实现此目的。如果您将 ADO.net
用作 Connection Type
,请将以下内容复制并粘贴到您的 SQL 语句中:
Declare @SQL VARCHAR(MAX)
SET @SQL = 'Select * from ' + @TABLE
EXEC(@SQL)
在参数页面中,您需要 Add
新参数,其中 @TABLE
作为 parameter name
,并将大小保留为 -1
。 @Table
变量应由变量设置页面中的 expression
决定。
我有一个 SSIS 数据流任务,我正在尝试使用 ADO.NET 源代码编辑器 从源 table 加载数据 进入 SQL 服务器 table.
问题:
源 table 名称是动态的,取决于当前日期。
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 源代码编辑器 以便在 [=29] 中使用=]where
条件 但我找不到任何有关如何在 table 名称中使用此参数的信息。
有谁知道我怎样才能做到这一点?我的查询非常简单:
select * from Sample_[DateParameter]_Data.
我正在使用 Visual Studio Data Tools 2010。
表达式必须设置在 Data Flow Task
而不是 Ado.net Source
按照以下步骤为 Ado.net Source
:
- 在
control flow
选项卡中单击Data Flow Task
并按F4
以显示属性选项卡 - 点击表情按钮,出现如下图
- 选择
[Ado.net Source].sqlcommand
属性 然后点击表达式构建器按钮
- 编写如下表达式
"select * from Sample_ " + @[User::DateParameter] + "_Data"
(假设你的数据参数存储在一个名为DateParameter
的变量中)
您应该使用动态 SQL 来实现此目的。如果您将 ADO.net
用作 Connection Type
,请将以下内容复制并粘贴到您的 SQL 语句中:
Declare @SQL VARCHAR(MAX)
SET @SQL = 'Select * from ' + @TABLE
EXEC(@SQL)
在参数页面中,您需要 Add
新参数,其中 @TABLE
作为 parameter name
,并将大小保留为 -1
。 @Table
变量应由变量设置页面中的 expression
决定。