SSIS - 您可以使用参数化查询来填充查找转换吗?

问题描述 投票:0回答:3

我正在使用存储过程来填充查找转换,但想限制查找缓存的大小。

我可以通过向存储过程提供参数来做到这一点,但我看不到任何在查找转换组件上参数化查询的方法。

ssis
3个回答
2
投票

如果您使用的是 SQL Server 2008,那么您可以使用新的缓存转换。它可以从 OLE DB 源(当然,您可以对其进行参数化)进行填充,并且可以将其行保留在内存中以供一个或多个查找转换使用,或者可以将缓存的行保存在文件中可以被多个不同的查找转换使用,甚至在不同的包中也是如此。

请参阅如何:在完全缓存模式下实现查找转换(SQL Server 视频)。虽然只有九分钟,但展示了要点。


2
投票

您可以使用查找转换属性的高级页面来修改SQL语句。 这允许使用参数。 但您需要将缓存模式更改为部分缓存或无缓存,否则无法更改语句。


0
投票

这些是其他 2012 年答案的屏幕截图。

enter image description here

加入“列”选项卡下的列。

如果您进入“高级”,您将看到您已经有了自动参数化。您的整个代码将嵌入

select * from ([whole code]) [refTable]
where [refTable].[semester_id] = ?

enter image description here

你可以改变这个,你不需要嵌入整个代码,相反,如果你的代码包含A、B和C表,你也可以写

where A.[id] = ?
,那么就不需要嵌入括号了。

© www.soinside.com 2019 - 2024. All rights reserved.