【问题标题】:Azure SQL Data Warehouse - parameterising an SSIS source queryAzure SQL 数据仓库 - 参数化 SSIS 源查询
【发布时间】:2017-09-15 18:19:12
【问题描述】:

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

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

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

【问题讨论】:

  • 使用的查询是什么?
  • 顺便说一句,SSIS 是一个很好的工具,但是您正在做的是将数据从 MPP 系统中提取出来,针对数十亿行和许多 TB 数据进行优化,然后将其拉入一个SSIS 管道,大概在 IaaS 上。您可能需要仔细检查这是正确的做法,并考虑使用 Azure 数据工厂。与 SSIS 相比,它是一个非常不同的工具,但 Copy Wizard 让事情变得更容易一些,如果你想在 Azure 中将数据从一个地方移动到另一个地方,你真的需要了解它。

标签: azure ssis azure-sqldw


【解决方案1】:

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

根据here,不完全支持 OLEDB,虽然您可能会发现可以连接,但不支持包括参数化语句在内的全套功能:

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

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

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

【讨论】:

    猜你喜欢
    • 2016-09-01
    • 2019-08-02
    • 2017-01-03
    • 2016-06-30
    • 2018-11-19
    • 1970-01-01
    • 2013-12-30
    • 1970-01-01
    • 2016-10-26
    相关资源
    最近更新 更多