You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否在ADF复制活动中使用Oracle存储过程输出至Azure SQL临时表?

可以在ADF复制活动中使用Oracle存储过程的输出参数

完全可以通过ADF复制活动将Oracle存储过程返回的SYS_REFCURSOR类型输出参数数据写入Azure SQL临时表,具体配置步骤如下:

1. 配置Oracle源数据集

  • 选择Oracle作为源类型,完成数据库连接信息配置。
  • 切换到查询标签页,选择「存储过程」作为查询模式。
  • 填写存储过程名称SP,添加输入参数:
    • 参数名:INPUT_DATE,类型选DATE,值设置为'30-Jun-2023'(推荐用ADF管道参数动态传入,替代硬编码)。
    • 无需编写你提供的DECLARE/BEGIN/END块,ADF会自动识别存储过程的SYS_REFCURSOR类型输出参数作为数据源结果集。

2. 配置Azure SQL目标数据集

  • 选择Azure SQL Database作为目标类型,完成实例连接配置。
  • 在表标签页,填写临时表名称(如#TempTable为本地临时表,仅当前会话有效;##TempTable为全局临时表,所有会话可见)。
  • 若临时表未提前创建,可在复制活动的设置中开启「自动创建表」,ADF会根据源结果集自动生成表结构;也可提前在Azure SQL中创建好匹配字段结构的临时表。

3. 配置并运行复制活动

  • 源选择上述Oracle数据集,目标选择Azure SQL数据集。
  • 在映射标签页,核对并调整源输出字段与目标临时表字段的映射关系,确保类型匹配。
  • 启动复制活动后,ADF会调用Oracle存储过程,获取OUT_SP的结果集,自动写入Azure SQL的临时表中。

关键注意事项

  • 确保Oracle存储过程返回的SYS_REFCURSOR是合法的结果集,字段类型与Azure SQL临时表的字段类型兼容。
  • 本地临时表#TempTable仅在当前Azure SQL会话中有效,若后续活动需使用该表,需保证在同一会话内执行;全局临时表需注意并发场景下的资源冲突。

内容的提问来源于stack exchange,提问作者bjnr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 05:42:08