2013-05-07 61 views
0

我想使用ado.net作为查询源将参数传递给MySQL查询。使用SSIS查询从SQL Server传入参数的ADO .NET源查询

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

你可以写一个SQL表达式并将其存储类型String

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

的变量,然后使用这个变量是存在于Data Flow Task表达.WRITE点击DFT并选择属性的属性。点击表达并在对话框

enter image description here

选择属性Ado.NET sql command选择上述property.Here ADO_SRC_Orale[SqlCommand]属性变量将会用你ADO.NET source

enter image description here

名替换