0
votes

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 `

1

1 Answers

1
votes

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 support extractValue(). 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.