1. 概述
1.1 版本
FineDataLink 版本 | 功能变动 |
---|---|
4.1.3 | 定时任务中,数据源是 MySQL、Oracle、SQLServer 时,支持调用数据库存储过程 |
4.1.11.2 |
|
4.1.12.2 |
|
1.2 应用场景
仅调用存储过程,将数据处理放在数据库去执行,无返回值。
调用的存储过程中有 select 返回结果集,需要将结果集作为表输入同步数据到其他库。
返回存储过程单个查询结果集作为表输入。
1.3 功能简介
定时任务中,支持调用数据库存储过程。如下图所示:
2. 使用限制
2.1 支持的数据库
开始支持FineDataLink的版本 | 数据库 | 游标结果集 | 查询结果集 |
---|---|---|---|
4.1.3 | MySQL | 不支持 | 支持 |
Oracle | 支持 | 不支持 | |
SQLServer | 不支持 | 支持 | |
4.1.11.2 | HP Vertica | 不支持 | 不支持 |
GaussDB 200 | 不支持 | 支持(单个查询结果集) | |
4.1.12.2 | IBM DB2 | 不支持 | 支持 |
SAP HANA | 不支持 | 支持(单个查询结果集) |
2.2 权限说明
数据连接用户必须具有调用 getProcedureColumns 和 Call 方法的权限。
注:数据连接用户需要有待调用存储过程的查询、执行权限,不同数据库设置方法可能不同,具体可自行百度。
HP vertica 数据源需要调用者对存储过程有 EXECUTE 权限,才可以使用指定存储过程及其 IN 实参的 CALL 语句来执行存储过程。
3. 支持调用存储过程的节点/算子
支持调用存储过程的节点/算子说明如下表所示:
支持调用存储过程的节点/算子 | 说明 |
---|---|
SQL脚本 | 支持调用无返回值的存储过程 |
数据同步 | 支持返回存储过程结果集作为表输入(HP Vertica 、DB2、SAP HANA 不支持) |
数据转换>DB表输入 | |
参数赋值 |
3.1 SQL脚本
「SQL 脚本」节点支持调用无返回值的存储过程。如下图所示:
各设置项说明如下表所示:
设置项 | 说明 |
---|---|
配置方式 | 选择「存储过程」时,联动展示下面的存储过程相关配置项 |
选择存储过程 | 单选已存在的存储过程;所选择的存储过程,需要无返回值 |
参数配置 | 参数类型、参数名称:自动获取 参数值:自动填入存储过程的参数默认值,并支持用户更改值和引用参数;输入$符号支持联想选择/手写,通过已有参数作为输入/输入输出参数 ;用户也可以选 NULL 值 引用参数的方法为:${参数名},详情参见:如何配置并使用参数 注1:DB2支持IN、OUT、INOUT参数,支持OUT参数返回出参/状态值。 注2:SAP HANA中INOUT参数仅支持标量值,需要对参数进行参数化,不支持对带有 INOUT 参数的存储过程进行非参数化调用。 需注意:
|
3.2 数据同步&数据转换&参数赋值
数据同步、数据转换>DB表输入算子中,支持返回存储过程结果集作为表输入。如下图所示:
参数赋值也可以将返回的存储过程结果集设置为参数使用,如下图所示:
各设置项说明如下表所示:
设置项 | 说明 |
---|---|
配置方式 | 选择「存储过程」时,联动展示下面的存储过程相关配置项 |
选择存储过程 | 单选已存在的存储过程;所选择的存储过程,需要有返回结果集 |
返回结果集 | 结果集说明:
|
参数配置 | 注1:参数列表中只展示输入参数,输出参数暂不展示。 注2:Oracle、SQL Server 可通过输出参数作为结果集返回;存储过程的 OUT 参数为游标类型,游标类参数不显示在参数列表中。 注3:GaussDB 200 存储过程所有参数类型均支持预览,但在设置数据去向「字段映射」时支持 IN、INOUT 类型参数,不支持 OUT 类型参数。 注4:DB2支持IN,OUT,INOUT参数,支持OUT参数返回出参/状态值。 注5:DB2使用DECLARE CURSOR WITH RETURN语句声明游标,可通过游标返回单个/多个/限制个数的结果集。 DB2支持存储过程相互嵌套调用,并在调用存储过程可返回参数,也可以返回结果集。 注6:SAP HANA可以通过游标调用存储过程处理判定输出信息,读取只读信息。 参数类型、参数名称:自动获取 参数值:自动填入存储过程的参数默认值,并支持用户更改值和引用参数;输入$符号支持联想选择/手写,通过已有参数作为输入/输入输出参数 ;支持用户可选 NULL 值 引用参数的方法为:${参数名},详情参见:如何配置并使用参数 需注意:
|
数据同步、数据转换>DB表输入算子中点击「数据预览」,如下图所示: