我有一个变量@csv,它包含逗号分隔值,例如: -一个 -a,B -a,B,C
我需要在数据流中的OLE DB源中的查询中传递它以创建查询,例如:
SELECT COUNT(1)FROM表WHERE col1 IN @csv
因此,如果@ csv =“a,b”,那么它应该在内部解析为
SELECT COUNT(1)FROM table WHERE col1 IN'a','b'
如何在SSIS 2008中实现这一目标?我可以避免脚本组件创建动态查询并将其存储在变量中吗?
答案 0 :(得分:1)
如何在SSIS中实现这一目标 2008年?我可以避免使用脚本组件吗? 创建动态查询和存储 它在一个变量?
最简单/最好的方法仍然是使用脚本组件。
否则你可以:
答案 1 :(得分:1)
您可以创建一个变量来存储查询并使用表达式组合其值,如:
变量列表:
选项1:如果使用OLE DB ,请选择SQL Command from variable
并绑定变量@sqlQuery:
选项2:如果使用ADO.NET ,请转到数据流任务的属性并展开Expressions
并绑定ADO.NET源>带变量@sqlQuery的SqlCommand +确保ADO.NET Source > Data access mode
是SQL Command
:
选项3:如果使用Execute SQL Task
,请展开Expressions
并使用变量@sqlQuery绑定SqlStatementSource +确保SQL Source Type
为{ {1}}: