我想使用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服务器时,它不喜欢这种语法。谁能解释我错过了什么?
答案 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
选择上述属性的变量。ADO_SRC_Orale[SqlCommand]
属性将替换为ADO.NET source
的名称