SSIS Passing Parameters to an ADO .NET Source query;向ado.net数据源传递参数。
Posted 江湖人称于老师
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSIS Passing Parameters to an ADO .NET Source query;向ado.net数据源传递参数。相关的知识,希望对你有一定的参考价值。
使用SSIS的oledb数据源时的参数按钮如下图:
但是在使用ADO.NET源连接到mysql时,没有这个参数按钮,如何向数据流的sql command传递参数呢?
steps:
1. 在 控制流 选项卡上,在包含ado.net源的 data flow task上右键选择属性->设置 Expressions。
2.属性表达式编辑器中设置如下:
属性:选择 ADO.NET源.SQLCommand,注意,ADO.NET源是 ado.net源的名称,如果您变更过组件名称,则这里是您自定义的名称.sqlcommand。
表达式:点击后边的按钮,填写你的sql语句以及从变量和参数传递过来的值,即 本例子中的 @[User::PV_WaterMarkValue],然后点击计算表达式按钮:
说明:使用了字符串拼接的方式,注意“”及‘’。
我这里的例子是:
"select cast(date_format(orderdate,\'%Y%m%d\') as signed) as datekey,`order`.*, branchoffice.BranchOfficeName from `order` inner join branchoffice on `order`.BranchOfficeSN=branchoffice.BranchOfficeSN where `order`.orderdate >\'"+ @[User::PV_WaterMarkValue]+"\'"
这样,Data flow task中的ado.net源就得到了从Get Water Mark中返回的值。
顺便演示下,Get Water Mark中的值是如何返回的:
1.定义变量
2.给变量赋值
3. 设置结果集
以上是关于SSIS Passing Parameters to an ADO .NET Source query;向ado.net数据源传递参数。的主要内容,如果未能解决你的问题,请参考以下文章
thinkphp迁移工具报错implode(): Passing glue string after array is deprecated. Swap the parameters
SSIS教程:创建简单的ETL包 -- 6. 对项目部署模型使用参数(Using Parameters with the Project Deployment Model)