SSIS 动态查询

SSIS Dynamic Query

我正在尝试在 SSIS 中执行动态查询。

当我尝试以下语句时

EXECUTE(@dynamicquery)

它抛出错误并建议使用 WITH RESULT SETS

但在我的例子中,结果模式也是动态的

EXECUTE(@query) WITH RESULT SETS ((@resultsschema));

这不是正确的语法。

还有其他方法可以解决这个问题吗?

您需要改变您的方法并找到 SSIS 提供给我们的正确方法。根据您的问题,我假设您想使用 SQL 语句执行 DML 语句,该语句仅在执行时根据变量的值已知。我建议您使用表达式(执行 SQL 任务 -> 表达式 -> SQL 语句)。这也假设您想在工作流中执行此操作,而不是数据流。但是,数据流中的动态 SQL 并没有太大不同。

查看以下文章,其中提供了数据流中动态表达式的示例,然后是控制流中的另一个示例:http://www.sqlsafety.com/?p=266