我已经安装了orbeon forms 2018.1.1 ce,使用mysql作为关系数据库(mysql版本:8.0.13)。
虽然我可以创建、保存和发布任何表单,但当我尝试访问表单摘要时,会出现“执行搜索时出错”错误。每次我尝试使用页面上部的“搜索表单”控件在摘要页面上搜索表单时,也会显示相同的错误。
除此之外,摘要页总是空的,尽管数据库中的相关表包含相应的记录。应用程序运行在ApacheTomcat(8.5.35)上,数据库是使用mysql-2017\ U 2.sql脚本创建的。
我还检查了orbeon.log文件,发现以下条目:
发生了一个错误
sql语法有错误;请查看与mysql服务器版本对应的手册,以获得正确的语法 row_number FROM orbeon_i_current c, (select @rownum := 0) r
第12行
应用程序调用堆栈
oxf:/apps/fr/page-flow.xml
读取页面视图数据输出46
元素= <service path="/fr/service/(oracle|mysql|postgresql|db2|sqlserver)/search/([^/^.]+)/([^/^.]+)" view="persisten view
=持久性/关系性/搜索.xpl
oxf:/apps/fr/persistence/relational/search.xpl文件
读取处理器输出22
元素= <p:output name="data" ref="data"/>
名称=数据
ref=数据
我想知道是否有任何其他需要的配置摘要页正常工作。
使用p6spy应用程序,我意识到以下查询似乎是导致错误消息的原因:
SELECT count(*)
FROM (
SELECT c.data_id,
c.document_id,
c.draft,
c.created,
c.last_modified_time,
c.last_modified_by,
c.username,
c.groupname,
c.organization_id,
@rownum := @rownum + 1 row_number
FROM orbeon_i_current c
, (select @rownum := 0) r
WHERE c.app = 'DemoApp' AND
c.form = 'DemoForm'
AND c.draft = 'N'
) a
实际上,问题可能出在:@rownum:=@rownum+1行数字
mysql从8.0版开始引入了窗口函数row\u number(),在这一行中,文字“row\u number”被sql引擎转换为一个函数。
1条答案
按热度按时间bihw5rsg1#
这是一个错误,自orbeon forms 2018.2.1 pe以来已修复。