0

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 `

4

1 回答 1

1

由于您得到的错误是FUNCTION orbeon.extractValue does not exist,我怀疑这是因为 MySQL 的另一个(远程)版本是不支持的旧版本extractValue()。MySQL 持久层依赖于 MySQL 5.1 中引入的 XML 函数,因此您需要使用 MySQL 5.1(2008 年 11 月发布)或更新版本。

于 2011-04-09T06:42:51.960 回答