Azure 数据工厂 SSIS IR 中 Oracle 支持的数据提供程序

Supported data providers for Oracle in Azure Data Factory SSIS IR

我们正在尝试将 Azure 数据工厂 SSIS 集成运行时服务用于 运行 一组现有的 SSIS 包(基本上是将数据从 oracle 传输到 SQL 服务器)。

但是,部署时出现验证错误 "Package xxx: Connection xxx contains unsupported provider."

我们尝试在 SSIS 包中使用以下两个提供程序,但都被报告为不受支持:

  1. "Oracle Provider for OLE DB"
  2. "OracleClient Data Provider"

使用 SSIS IR 在 ADF 中访问 Oracle 时支持哪些提供程序?

您的 SSIS 包正在访问内部部署的本地 Oracle 数据库。

如您所知,Azure 无法直接连接到本地资源。例如,当我们需要访问本地SQL服务器时,我们必须使用Self-host集成运行时间。

将其部署到 Azure 并 运行 数据工厂中的包时,您将收到错误。

我们可以从文档中得到原因:Azure-SSIS Integration Runtime:

Azure-SSIS IR网络环境

Azure-SSIS IR 可以在 public 网络或专用网络中配置。 通过将 Azure-SSIS IR 加入连接到本地网络的虚拟网络来支持本地数据访问

解决方法:Join an Azure-SSIS integration runtime to a virtual network

如果您的 SSIS 包访问数据 stores/resources 只允许特定的静态 public IP 地址,并且您希望从 Azure-SSIS IR 安全访问这些资源,您可以自带 public Azure-SSIS IR 的 IP 地址,同时将其加入虚拟网络,然后将 IP 防火墙规则添加到相关资源以允许从这些 IP 地址进行访问。

抱歉,我没有Oracle环境,无法为您测试。

希望这对您有所帮助。

使用 "Oracle Provider for OLE DB" 等提供程序连接到 Oracle 时,我们需要将其安装到节点 运行 SSIS IR。这可以通过使用门户自定义 SSIS IR 来完成。

https://docs.microsoft.com/en-us/azure/data-factory/how-to-configure-azure-ssis-ir-custom-setup

步骤总结:

  1. 下载并编辑上面提供的示例脚本 (main.cmd) link(来自 publicpreview 容器)
  2. 将其与 ODAC122010Xcopy_x64.zip 文件一起上传到 Azure Blob 容器。
  3. 获取此文件夹的 "Shared Access Signature" uri。
  4. 关闭 SSIS IR。
  5. 转到自定义 SSIS IR 并提供复制的 link。
  6. 重新启动 SSIS IR。