Orbeon 3.9.0 远程/网络 Mysql 服务器
我正在使用 Orbeon 3.9.0 PE RC1 和 liferay-portal-6.0.5。当使用 Localhost Mysql 持久层时,它可以工作。
但是当尝试使用远程(本地网络)Mysql 数据库时,表单生成器无法发布任何表单并且没有显示数据。
Properties-local.xml 配置
`
错误日志示例。
2011-04-07 12:37:18,118 INFO ProcessorService - /fr/service/mysql/search/orbeon/builder - 收到请求 2011-04-07 12:37:20,853 错误 SQLProcessor -PreparedStatement:
select
(
select count(*) from orbeon_form_data
where
(app, form, document_id, last_modified) in (
select app, form, document_id, max(last_modified) last_modified
from orbeon_form_data
where
app = ?
and form = ?
group by app, form, document_id)
and deleted = 'N'
) total,
(
select count(*) from (
select
data.created, data.last_modified, data.document_id
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/application-name') detail_1
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/form-name') detail_2
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/title[@xml:lang = ''en'']') detail_3
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/description[@xml:lang = ''en'']') detail_4
from orbeon_form_data data,
(
select max(last_modified) last_modified, app, form, document_id
from orbeon_form_data
where
app = ?
and form = ?
group by app, form, document_id
) latest
where
data.last_modified = latest.last_modified
and data.app = latest.app
and data.form = latest.form
and data.document_id = latest.document_id
and data.deleted = 'N'
order by created desc
)a
) search_total
2011-04-07 12:37:20,868 信息 DatabaseContext - 回滚数据源的 JDBC 连接:jdbc/mysql。 2011-04-07 12:37:20,868 错误 ProcessorService - oxf:/apps/fr/persistence/mysql/search.xpl 异常(执行 XSLT 转换) com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:FUNCTION orbeon.extractValue 不存在 在 com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936) 在 com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985) 在 com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631) 在 com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723) 在 com.mysql.jdbc.Connection.execSQL(Connection.java:3256) 在com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313) 在 com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:874) 在org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169) 在org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169) 在 org.orbeon.oxf.processor.sql.interpreters.QueryInterpreter.end(QueryInterpreter.java:600) 在 org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:540) 在 org.orbeon.oxf.processor.sql.SQLProcessor$ForwardingContentHandler.endElement(SQLProcessor.java:635) 在 org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:542) 在 org.orbeon.oxf.processor.sql.SQLProcessor$ForwardingContentHandler.endElement(SQLProcessor.java:635) 在 org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:542) 在 org.orbeon.oxf.processor.sql.SQLProcessor$ForwardingContentHandler.endElement(SQLProcessor.java:635) 在 org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:542) 在 org.orbeon.oxf.processor.sql.SQLProcessor$RootInterpreter.endElement(SQLProcessor.java:290) 在 org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:288) 在 org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:202) 在 org.orbeon.oxf.processor.sql.SQLProcessor.execute(SQLProcessor.java:251) 在 org.orbeon.oxf.processor.sql.SQLProcessor$1.readImpl(SQLProcessor.java:89) 在 org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263) 在 org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406) 在`
I'm using Orbeon 3.9.0 PE RC1 with liferay-portal-6.0.5. When using Localhost Mysql persistence layer, its works.
but when try to use remote (Local Network) Mysql database, then Form builder can't publish any form and no data shown.
Properties-local.xml configaretion
`
Error Log sample.
2011-04-07 12:37:18,118 INFO ProcessorService - /fr/service/mysql/search/orbeon/builder - Received request
2011-04-07 12:37:20,853 ERROR SQLProcessor - PreparedStatement:
select
(
select count(*) from orbeon_form_data
where
(app, form, document_id, last_modified) in (
select app, form, document_id, max(last_modified) last_modified
from orbeon_form_data
where
app = ?
and form = ?
group by app, form, document_id)
and deleted = 'N'
) total,
(
select count(*) from (
select
data.created, data.last_modified, data.document_id
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/application-name') detail_1
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/form-name') detail_2
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/title[@xml:lang = ''en'']') detail_3
, extractValue(data.xml, '/*/xhtml:head/xforms:model[@id = ''fr-form-model'']/xforms:instance[@id = ''fr-form-metadata'']/*/description[@xml:lang = ''en'']') detail_4
from orbeon_form_data data,
(
select max(last_modified) last_modified, app, form, document_id
from orbeon_form_data
where
app = ?
and form = ?
group by app, form, document_id
) latest
where
data.last_modified = latest.last_modified
and data.app = latest.app
and data.form = latest.form
and data.document_id = latest.document_id
and data.deleted = 'N'
order by created desc
)a
) search_total
2011-04-07 12:37:20,868 INFO DatabaseContext - Rolling back JDBC connection for datasource: jdbc/mysql.
2011-04-07 12:37:20,868 ERROR ProcessorService - Exception at oxf:/apps/fr/persistence/mysql/search.xpl (executing XSLT transformation)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: FUNCTION orbeon.extractValue does not exist
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2985)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1631)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3256)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1313)
at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:874)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.execute(DelegatingPreparedStatement.java:169)
at org.orbeon.oxf.processor.sql.interpreters.QueryInterpreter.end(QueryInterpreter.java:600)
at org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:540)
at org.orbeon.oxf.processor.sql.SQLProcessor$ForwardingContentHandler.endElement(SQLProcessor.java:635)
at org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:542)
at org.orbeon.oxf.processor.sql.SQLProcessor$ForwardingContentHandler.endElement(SQLProcessor.java:635)
at org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:542)
at org.orbeon.oxf.processor.sql.SQLProcessor$ForwardingContentHandler.endElement(SQLProcessor.java:635)
at org.orbeon.oxf.processor.sql.SQLProcessor$InterpreterContentHandler.endElement(SQLProcessor.java:542)
at org.orbeon.oxf.processor.sql.SQLProcessor$RootInterpreter.endElement(SQLProcessor.java:290)
at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:288)
at org.orbeon.oxf.xml.SAXStore.replay(SAXStore.java:202)
at org.orbeon.oxf.processor.sql.SQLProcessor.execute(SQLProcessor.java:251)
at org.orbeon.oxf.processor.sql.SQLProcessor$1.readImpl(SQLProcessor.java:89)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl$TopLevelOutputFilter.read(ProcessorOutputImpl.java:263)
at org.orbeon.oxf.processor.impl.ProcessorOutputImpl.read(ProcessorOutputImpl.java:406)
at `
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您收到的错误是 FUNCTION orbeon.extractValue 不存在,我怀疑这是因为 MySQL 的其他(远程)版本是旧版本,不支持 extractValue( )。 MySQL 持久层依赖于 MySQL 5.1 中引入的 XML 函数,因此您需要使用 MySQL 5.1(于 2008 年 11 月发布)或更高版本。
Since the error you're getting is
FUNCTION orbeon.extractValue does not exist
, I suspect this is because the other (remote) version of MySQL is an older version which doesn't supportextractValue()
. The MySQL persistence layer relies on XML functions that have been introduced in MySQL 5.1, so you need to be using the MySQL 5.1 (which was released in November 2008) or newer.