使用SSIS查询从SQL Server传入参数的ADO .NET源查询

时间:2013-05-07 03:46:22

标签: mysql sql-server ssis

我想使用ado.net作为查询源将参数传递给MySQL查询。

SELECT *  
FROM   userinfo
WHERE  load_date > '2012-01-07' 
AND    load_date < '2012-01-14'

我在sql server中有一个具有我的值的设置表:

SELECT  startdate, enddate 
FROM   tblsetting

我已设法将这些值传递给SSIS。如果我对我的sql server表运行查询,我可以使用它:

SELECT *  
FROM    userinfo
WHERE   load_date > ? 
AND     load_date < ?

但是当我将我的源代码更改为ado.net,连接到mysql服务器时,它不喜欢这种语法。谁能解释我错过了什么?

1 个答案:

答案 0 :(得分:0)

您可以编写SQL表达式并将其存储为String

类型的变量
"SELECT *  
 FROM    userinfo
 WHERE   load_date > '" +  (DT_WSTR,20) @[User::YourDateTimeVar]  + "''
 AND     load_date < '" +   (DT_WSTR,20)@[User::YourDateTimeVar]  + " ' "

然后将此变量用于Data Flow Task表达式中的属性。单击DFT并选择“属性”。单击表达式,然后从对话框中的属性中选择Ado.NET sql command

enter image description here

选择上述属性的变量。ADO_SRC_Orale[SqlCommand]属性将替换为ADO.NET source的名称

enter image description here