我在尝试使用SSIS导入数据时遇到问题。 我有一个SSIS包,可以将数据从一个服务器/数据库移动到另一个服务器/数据库。 此时,查询将获取源数据库中的所有行并将其移动到目标。 我需要更改它,以便只使用ID作为过滤器移动选择的几行。 我需要传入一个ID作为参数,用于过滤数据集以仅返回选定的几行。怎么做到这一点? 我目前有一个简单的SSIS包,包含2个数据流对象(源和目的地),但从我一直在看的东西,我可能需要稍微改变一下。
SELECT
ID,
[Product Type],
[Product Title]
FROM [View]
where ID = <This should be provided from outside the package>
最终将由TSQL /存储过程触发包。
感谢。
答案 0 :(得分:1)
使用参数。在SSIS中,问号?
被用作参数,其顺序决定参数名称。只需使用此SQL(在Source
任务内):
SELECT
ID,
[Product Type],
[Product Title]
FROM [View]
where ID = ?
..然后点击Parameters
按钮:
请注意,Preview
按钮(如果您将尝试)将无效(它会引发错误)但您可以忽略它,只需按照说明here尝试运行您的包。 / em>的
..然后将参数名称更改为0
(零)并将其设置为您的变量:
应该运作良好。