Skip to main content

ExecuteStoreProcedure

描述:

调用提供的SQL存储过程(procedure)方法,查询到的结果将转换为JSON。由于采用流的方式,因此支持任意大的结果集。该组件可以通过定时器或cron表达式的调度方式运行,也可以由输入流文件触发运行。如果由输入流文件触发运行,流文件的属性可以通过select查询语句获得,查询语句使用?号转义参数。在这种情况下,使用的参数必须以流文件属性的形式存在,属性的命名方式约定为:sql.args.N.type和sql.args.N.value,其中N为正整数。sql.args.N.type应该为标明JDBC类型的数字。流文件的内容应该为UTF-8格式。流文件的属性"executesql.row.count"标明选择了多少行。

标签:

store procedure, call, sql, 存储过程

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
数据库连接池服务控制器服务API:
DBCPService
实现:
DBCPConnectionPoolLookup
DBCPConnectionPool
用于获取数据库连接的控制器服务。
方法名要调用的方法名。如果指定了该属性,则不论输入流文件的内容如何,都将使用该属性;如果该属性为空,则预期输入流文件的内容为一个有效方法,该方法由组件向数据库发起调用。

支持表达式语言 (支持流属性和变量)
PROCEDURE OR FUNCTIONprocedure
- function
- procedure
Type of method to execute, 1:procedure, 2:function
最大等待时间0 seconds允许运行SQL select查询的最大时间,0表示没有限制。如果值小于1秒,则被视为等于0 。
参数方法使用的参数。如果设定了此属性,则不论输入流文件的属性如何,都将使用该属性。如果该属性为空,则预期输入流文件的属性是有效的。该值为JsonArray类型,包含许多表示参数特性的json对象,特性的键包括param.index、param.value、param.type、param.value.type和param.format等。param.index的值为整数,表示参数在sql中的序号,param.type为参数类型,类似IN,IN/OUT,OUT.param.param.param.value。param.value.type表示参数的类型。param.format是可选的,但默认的选项可能不适用于您的数据。输入流文件应该是参数化的SQL语句,某些情况下,需要指定格式选项,现在这只适用于二进制数据类型、日期、时间和时间戳。二进制数据类型(默认为:"ascii")-ascii:属性中的每个字符串字符表示一个字节,这是Avro组件提供的格式;base64:该字符串为Base64编码的字符串;hex:该字符串为十六进制编码,所有字母都是大写,开头没有“0x”。日期/时间/时间戳数据类型-其支持自定义格式,或者根据java.time.format.DateTimeFormatter指定的命名格式('yyyy-MM-dd','ISO_OFFSET_DATE_TIME')。如果没有指定,则输入应该是一个长整型的unix时间戳,或者日期格式为"yyyy-MM-dd"、时间格式为"HH:mm:ss.SSS"(一些数据库引擎,如Derby或MySQL,不支持毫秒,将截断毫秒)、时间戳格式为"yyyy-MM-dd HH:mm:ss.SSS"的字符串。
获取结果集行数0SQL查询语句能够返回的最大结果集行数,0表示没有限制。

连线:

名字描述
success跟据SQL查询结果集成功创建的流文件,将被路由到此连线
failureSQL查询执行失败,输入流文件将受到惩罚并路由到此连线。

读取属性:

未提供。

写入属性:

名字描述
executesql.row.count包含select查询返回的行数
executesql.query.duration查询过程耗费的时间(以毫秒为单位)
executesql.resultset.index假如返回多个结果集,则此值表示该结果集的索引(从0开始)。
ResultSet调用存储过程返回的结果。ResultSet是一个调用存储过程返回的JsonArray,包含多个JsonObject,每个JsonObject表示数据库表中的一行。
Results调用存储过程返回的结果。Results是一个调用存储过程返回的JsonObject,JsonObject表示一些返回变量,如outParameters或inoutParameters。

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件允许提供输入流。

系统资源考量:

未提供。