Azure SQL数据仓库 - 参数化SSIS源查询

时间:2017-04-19 13:24:48

标签: azure ssis azure-sqldw

我想将我的Azure DW作为SSIS数据流的一部分进行查询。我使用oleDb源来执行此操作,但是当我尝试配置参数时,出现以下错误。

  

存储过程sp_describe_undeclared_pa​​rameters不存在或   不受支持。 (Microsoft SQL Server Native Client 11.0)

这可能吗?我是否需要动态生成查询?

1 个答案:

答案 0 :(得分:1)

使用ADO.net提供程序改为连接到Azure SQL数据仓库。

根据here,OLEDB并不完全受支持,虽然您可能发现可以连接,但不支持完整的功能集,包括参数化语句:

Successful package execution

要对语句进行参数化,请使用包级参数,SSIS变量和表达式的组合。在我的示例中,我使用名为dimDate的包级参数Int32。然后我使用一个名为@[User::sql]的SSIS变量来连接我想要运行的存储过程和参数:

"EXEC dbo.usp_getDimDate " + (DT_STR, 8, 1252) @[$Package::dimDate]

SSIS variable with expression

最后,使用任务的表达式部分使SSIS变量成为ADO.net SqlCommand的源:

ADO.net SqlCommand with expression