我目前正在SQL Server中使用一个函数来获取特定列的最大值。我需要此值来生成特定数量的虚拟文件,以插入稍后创建的流文件。 是否可以通过Nifi处理器调用此函数?
使用ExecuteSQL时,在使用select ab.functionname()
(ab是数据库的登录名)时,总是出现错误,例如无法执行SQL select查询或找不到“ ab”列
在SQL Server中,我可以仅使用select ab.functionname()并获得所需的结果。
如果没有可能调用此函数的方法,还有另一种方法来创建#flowfiles虚拟文件以在数据库中为其保留此位置,以便其他任何人都不能插入或使用此ID(不是自动递增,因为它是无法处理流文件?
我尝试使用$ flowfile.count和Counterprocessor,但这不能解决问题。 看起来应该像这样:为每个流文件插入表(id,nr)值(max(id)+ 1,anynumber),不幸的是ExecuteSQL无法做到这一点。
答案 0 :(得分:1)
认为此对话可以帮助您: https://community.hortonworks.com/questions/26170/does-executesql-processor-allow-to-execute-stored.html
要点:
执行spname(param)